001 package com.google.gwt.maps.client.geometrylib;
002
003 import com.google.gwt.core.client.JsArray;
004 import com.google.gwt.maps.client.base.LatLng;
005 import com.google.gwt.maps.client.mvc.MVCArray;
006
007 public class SphericalUtils {
008
009 /**
010 * Computes the area of the given loop. Loops must be closed.
011 * @param loop
012 */
013 public static final native double computeArea(JsArray<LatLng> loop) /*-{
014 return $wnd.google.maps.geometry.spherical.computeArea(loop);
015 }-*/;
016
017 /**
018 * Computes the area of the given loop. Loops must be closed.
019 * @param loop
020 */
021 public static final native double computeArea(MVCArray<LatLng> loop) /*-{
022 return $wnd.google.maps.geometry.spherical.computeArea(loop);
023 }-*/;
024
025 /**
026 * Computes the area of the given loop. Loops must be closed.
027 * @param loop
028 * @param radius
029 */
030 public static final native double computeArea(JsArray<LatLng> loop, int radius) /*-{
031 return $wnd.google.maps.geometry.spherical.computeArea(loop, radius);
032 }-*/;
033
034 /**
035 * Computes the area of the given loop. Loops must be closed.
036 * @param loop
037 * @param radius
038 */
039 public static final native double computeArea(MVCArray<LatLng> loop, int radius) /*-{
040 return $wnd.google.maps.geometry.spherical.computeArea(loop, radius);
041 }-*/;
042
043 /**
044 * Computes the distance between two LatLngs.
045 * @param from
046 * @param to
047 */
048 public static final native double computeDistanceBetween(LatLng from, LatLng to) /*-{
049 return $wnd.google.maps.geometry.spherical.computeDistanceBetween(from, to);
050 }-*/;
051
052 /**
053 * Computes the distance between two LatLngs.
054 * @param from
055 * @param to
056 * @param radius
057 */
058 public static final native double computeDistanceBetween(LatLng from, LatLng to, int radius) /*-{
059 return $wnd.google.maps.geometry.spherical.computeDistanceBetween(from, to, radius);
060 }-*/;
061
062 /**
063 * Computes the heading from one LatLng to another LatLng.
064 * @param from
065 * @param to
066 */
067 public static final native double computeHeading(LatLng from, LatLng to) /*-{
068 return $wnd.google.maps.geometry.spherical.computeHeading(from, to);
069 }-*/;
070
071 /**
072 * Computes the length of the given path.
073 * @param path
074 */
075 public static final native double computeLength(JsArray<LatLng> path) /*-{
076 return $wnd.google.maps.geometry.spherical.computeLength(path);
077 }-*/;
078
079 /**
080 * Computes the length of the given path.
081 * @param path
082 */
083 public static final native double computeLength(MVCArray<LatLng> path) /*-{
084 return $wnd.google.maps.geometry.spherical.computeLength(path);
085 }-*/;
086
087 /**
088 * Computes the length of the given path.
089 * @param path
090 * @param radius
091 */
092 public static final native double computeLength(JsArray<LatLng> path, int radius) /*-{
093 return $wnd.google.maps.geometry.spherical.computeLength(path, radius);
094 }-*/;
095
096 /**
097 * Computes the length of the given path.
098 * @param path
099 * @param radius
100 */
101 public static final native double computeLength(MVCArray<LatLng> path, int radius) /*-{
102 return $wnd.google.maps.geometry.spherical.computeLength(path, radius);
103 }-*/;
104
105 /**
106 * Computes the LatLng produced by starting from a given LatLng and heading a given distance.
107 * @param from
108 * @param distance
109 * @param heading
110 */
111 public static final native LatLng computeOffset(LatLng from, int distance, int heading) /*-{
112 return $wnd.google.maps.geometry.spherical.computeOffset(from, distance, heading);
113 }-*/;
114
115 /**
116 * Computes the LatLng produced by starting from a given LatLng and heading a given distance.
117 * @param from
118 * @param distance
119 * @param heading
120 * @param radius
121 */
122 public static final native LatLng computeOffset(LatLng from, int distance, int heading, int radius) /*-{
123 return $wnd.google.maps.geometry.spherical.computeOffset(from, distance, heading, radius);
124 }-*/;
125
126 /**
127 * Computes the signed area of the given loop. Loops must be closed. The signed area may be used to determine the orientation of a loop.
128 * @param loop
129 */
130 public static final native double computeSignedArea(JsArray<LatLng> loop) /*-{
131 return $wnd.google.maps.geometry.spherical.computeSignedArea(loop);
132 }-*/;
133
134 /**
135 * Computes the signed area of the given loop. Loops must be closed. The signed area may be used to determine the orientation of a loop.
136 * @param loop
137 */
138 public static final native double computeSignedArea(MVCArray<LatLng> loop) /*-{
139 return $wnd.google.maps.geometry.spherical.computeSignedArea(loop);
140 }-*/;
141
142 /**
143 * Computes the signed area of the given loop. Loops must be closed. The signed area may be used to determine the orientation of a loop.
144 * @param loop
145 * @param radius
146 */
147 public static final native double computeSignedArea(JsArray<LatLng> loop, int radius) /*-{
148 return $wnd.google.maps.geometry.spherical.computeSignedArea(loop, radius);
149 }-*/;
150
151 /**
152 * Computes the signed area of the given loop. Loops must be closed. The signed area may be used to determine the orientation of a loop.
153 * @param loop
154 * @param radius
155 */
156 public static final native double computeSignedArea(MVCArray<LatLng> loop, int radius) /*-{
157 return $wnd.google.maps.geometry.spherical.computeSignedArea(loop, radius);
158 }-*/;
159
160 /**
161 * Travels a fraction of the way from one LatLng to another LatLng.
162 * @param from
163 * @param to
164 * @param fraction
165 */
166 public static final native LatLng interpolate(LatLng from, LatLng to, double fraction) /*-{
167 return $wnd.google.maps.geometry.spherical.interpolate(from, to, fraction);
168 }-*/;
169
170 }