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.maps.client.base.LatLng;
006
007 /**
008 * A single leg consisting of a set of steps in a DirectionsResult. Some fields in the leg may not be returned for all requests. (This object was formerly known as "DirectionsRoute".) Note that though this result is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.
009 * <br><br>
010 * See <a href="https://developers.google.com/maps/documentation/javascript/reference#DirectionsLeg">DirectionsLeg API Doc</a>
011 */
012 public class DirectionsLeg extends JavaScriptObject {
013
014 /**
015 * use newInstance();
016 */
017 protected DirectionsLeg() {}
018
019 /**
020 * A single leg consisting of a set of steps in a DirectionsResult. Some fields in the leg may not be returned for all requests. (This object was formerly known as "DirectionsRoute".) Note that though this result is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.
021 */
022 public static final DirectionsLeg newInstance() {
023 return JavaScriptObject.createObject().cast();
024 }
025
026 /**
027 * The total distance covered by this leg. This property may be undefined as the distance may be unknown.
028 * @param distance
029 */
030 public final native void setDistance(Distance distance) /*-{
031 this.distance = distance;
032 }-*/;
033
034 /**
035 * The total distance covered by this leg. This property may be undefined as the distance may be unknown.
036 */
037 public final native Distance getDistance() /*-{
038 return this.distance;
039 }-*/;
040
041 /**
042 * The total duration of this leg. This property may be undefined as the duration may be unknown.
043 * @param duration
044 */
045 public final native void setDuration(Duration duration) /*-{
046 this.duration = duration;
047 }-*/;
048
049 /**
050 * The total duration of this leg. This property may be undefined as the duration may be unknown.
051 */
052 public final native Duration getDuration() /*-{
053 return this.duration;
054 }-*/;
055
056 /**
057 * The address of the destination of this leg.
058 * @param end_address
059 */
060 public final native void setEnd_Address(String end_address) /*-{
061 this.end_address = end_address;
062 }-*/;
063
064 /**
065 * The address of the destination of this leg.
066 */
067 public final native String getEnd_Address() /*-{
068 return this.end_address;
069 }-*/;
070
071 /**
072 * The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. end_location indicates the actual geocoded destination, which may be different than the end_location of the last step if, for example, the road is not near the destination of this leg.
073 * @param end_location
074 */
075 public final native void setEnd_Location(LatLng end_location) /*-{
076 this.end_location = end_location;
077 }-*/;
078
079 /**
080 * The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. end_location indicates the actual geocoded destination, which may be different than the end_location of the last step if, for example, the road is not near the destination of this leg.
081 */
082 public final native LatLng getEnd_Location() /*-{
083 return this.end_location;
084 }-*/;
085
086 /**
087 * The address of the origin of this leg.
088 * @param start_address
089 */
090 public final native void setStart_Address(String start_address) /*-{
091 this.start_address = start_address;
092 }-*/;
093
094 /**
095 * The address of the origin of this leg.
096 */
097 public final native String getStart_Address() /*-{
098 return this.start_address;
099 }-*/;
100
101 /**
102 * The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. start_location indicates the actual geocoded origin, which may be different than the start_location of the first step if, for example, the road is not near the origin of this leg.
103 * @param start_location
104 */
105 public final native void setStart_Location(LatLng start_location) /*-{
106 this.start_location = start_location;
107 }-*/;
108
109 /**
110 * The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. start_location indicates the actual geocoded origin, which may be different than the start_location of the first step if, for example, the road is not near the origin of this leg.
111 */
112 public final native LatLng getStart_Location() /*-{
113 return this.start_location;
114 }-*/;
115
116 /**
117 * An array of DirectionsSteps, each of which contains information about the individual steps in this leg.
118 * @param steps
119 */
120 public final native void setSteps(JsArray<DirectionsStep> steps) /*-{
121 this.steps = steps;
122 }-*/;
123
124 /**
125 * An array of DirectionsSteps, each of which contains information about the individual steps in this leg.
126 */
127 public final native JsArray<DirectionsStep> getSteps() /*-{
128 return this.steps;
129 }-*/;
130
131 /**
132 * An array of waypoints along this leg that were not specified in the original request, either as a result of a user dragging the polyline or selecting an alternate route.
133 * @param via_waypoints
134 */
135 public final native void setVia_Waypoints(JsArray<LatLng> via_waypoints) /*-{
136 this.via_waypoints = via_waypoints;
137 }-*/;
138
139 /**
140 * An array of waypoints along this leg that were not specified in the original request, either as a result of a user dragging the polyline or selecting an alternate route.
141 */
142 public final native JsArray<LatLng> getVia_Waypoints() /*-{
143 return this.via_waypoints;
144 }-*/;
145
146 }