001 package com.google.gwt.maps.client.services;
002
003 import com.google.gwt.core.client.JavaScriptObject;
004 import com.google.gwt.core.client.JsArray;
005 import com.google.gwt.core.client.JsArrayInteger;
006 import com.google.gwt.core.client.JsArrayString;
007 import com.google.gwt.maps.client.base.LatLng;
008 import com.google.gwt.maps.client.base.LatLngBounds;
009
010 /**
011 * A single route containing a set of legs in a DirectionsResult. (This object was formerly known as "DirectionsTrip".) Note that though this object is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.
012 * <br><br>
013 * See <a href="https://developers.google.com/maps/documentation/javascript/reference#DirectionsRoute">DirectionsRoute API Doc</a>
014 */
015 public class DirectionsRoute extends JavaScriptObject {
016
017 /**
018 * use newInstance();
019 */
020 protected DirectionsRoute() {}
021
022 /**
023 * A single route containing a set of legs in a DirectionsResult. (This object was formerly known as "DirectionsTrip".) Note that though this object is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.
024 */
025 public static final DirectionsRoute newInstance() {
026 return JavaScriptObject.createObject().cast();
027 }
028
029 /**
030 * The bounds for this route.
031 * @param bounds
032 */
033 public final native void setBounds(LatLngBounds bounds) /*-{
034 this.bounds = bounds;
035 }-*/;
036
037 /**
038 * The bounds for this route.
039 */
040 public final native LatLngBounds getBounds() /*-{
041 return this.bounds;
042 }-*/;
043
044 /**
045 * Copyrights text to be displayed for this route.
046 * @param copyrights
047 */
048 public final native void setCopyrights(String copyrights) /*-{
049 this.copyrights = copyrights;
050 }-*/;
051
052 /**
053 * Copyrights text to be displayed for this route.
054 */
055 public final native String getCopyrights() /*-{
056 return this.copyrights;
057 }-*/;
058
059 /**
060 * An array of DirectionsLegs, each of which contains information about the steps of which it is composed. There will be one leg for each waypoint or destination specified. So a route with no waypoints will contain one DirectionsLeg and a route with one waypoint will contain two. (This property was formerly known as "routes".)
061 * @param legs
062 */
063 public final native void setLegs(JsArray<DirectionsLeg> legs) /*-{
064 this.legs = legs;
065 }-*/;
066
067 /**
068 * An array of DirectionsLegs, each of which contains information about the steps of which it is composed. There will be one leg for each waypoint or destination specified. So a route with no waypoints will contain one DirectionsLeg and a route with one waypoint will contain two. (This property was formerly known as "routes".)
069 */
070 public final native JsArray<DirectionsLeg> getLegs() /*-{
071 return this.legs;
072 }-*/;
073
074 /**
075 * An array of LatLngs representing the entire course of this route. The path is simplified in order to make it suitable in contexts where a small number of vertices is required (such as Static Maps API URLs).
076 * @param overview_path
077 */
078 public final native void setOverview_Path(JsArray<LatLng> overview_path) /*-{
079 this.overview_path = overview_path;
080 }-*/;
081
082 /**
083 * An array of LatLngs representing the entire course of this route. The path is simplified in order to make it suitable in contexts where a small number of vertices is required (such as Static Maps API URLs).
084 */
085 public final native JsArray<LatLng> getOverview_Path() /*-{
086 return this.overview_path;
087 }-*/;
088
089 /**
090 * Warnings to be displayed when showing these directions.
091 * @param warnings
092 */
093 public final native void setWarnings(JsArrayString warnings) /*-{
094 this.warnings = warnings;
095 }-*/;
096
097 /**
098 * Warnings to be displayed when showing these directions.
099 */
100 public final native JsArrayString getWarnings() /*-{
101 return this.warnings;
102 }-*/;
103
104 /**
105 * If optimizeWaypoints was set to true, this field will contain the re-ordered permutation of the input waypoints. For example, if the input was:
106 Origin: Los Angeles
107 Waypoints: Dallas, Bangor, Phoenix
108 Destination: New York
109 and the optimized output was ordered as follows:
110 Origin: Los Angeles
111 Waypoints: Phoenix, Dallas, Bangor
112 Destination: New York
113 then this field will be an Array containing the values [2, 0, 1]. Note that the numbering of waypoints is zero-based.
114 If any of the input waypoints has stopover set to false, this field will be empty, since route optimization is not available for such queries.
115 * @param waypoint_order
116 */
117 public final native void setWayPoint_Order(JsArrayInteger waypoint_order) /*-{
118 this.waypoint_order = waypoint_order;
119 }-*/;
120
121 /**
122 * If optimizeWaypoints was set to true, this field will contain the re-ordered permutation of the input waypoints. For example, if the input was:
123 Origin: Los Angeles
124 Waypoints: Dallas, Bangor, Phoenix
125 Destination: New York
126 and the optimized output was ordered as follows:
127 Origin: Los Angeles
128 Waypoints: Phoenix, Dallas, Bangor
129 Destination: New York
130 then this field will be an Array containing the values [2, 0, 1]. Note that the numbering of waypoints is zero-based.
131 If any of the input waypoints has stopover set to false, this field will be empty, since route optimization is not available for such queries.
132 */
133 public final native JsArrayInteger getWayPoint_Order() /*-{
134 return this.waypoint_order;
135 }-*/;
136
137 }