我的应用程序是java谷歌地图Web应用程序。获得2分并发送给Google
http://maps.googleapis.com/maps/api/directions/json?origin="+saddr+"&destination="+daddr+"&sensor=false
,它给了json。然后我解码overview_polyline
。我的问题有时会给予扩展价值。
这是我的解码部分。
public static ArrayList<Location> decodePoly(String encoded) {
ArrayList<Location> poly = new ArrayList<Location>();
int index = 0, len = encoded.length();
int lat = 0, lng = 0;
while (index < len) {
int b, shift = 0, result = 0;
do {
b = encoded.charAt(index++) - 63;
result |= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lat += dlat;
shift = 0;
result = 0;
do {
b = encoded.charAt(index++) - 63;
result |= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lng += dlng;
Location p = new Location((((double) lat / 1E5)),
(((double) lng / 1E5)));
// System.out.println("==p==" +p.getLatitude());
// System.out.println("==p==" +p.getLongitude());
poly.add(p);
}
return poly;
}
黑色标记,代表没有前往那条路。但它就是这样画的。
http://maps.googleapis.com/maps/api/directions/json?origin=6.95522,79.8864&destination=6.96165,79.8958&sensor=false
此overview_polyline
为_pmi@}xqfNEkEM{@DREUOc@Wi@MOkBmCi@k@o@o@gA}@qD_DiDgD{MoN_DeDJEVGvBS
第二个错误路径
这是我的db示例数据...
请说明一下?什么问题?
提前致谢。
答案 0 :(得分:1)
如documentation中所述,这可能只是应用于点的平滑误差:
overview_polyline包含一个对象,该对象包含一组编码点,这些点表示生成方向的近似(平滑)路径。
我实际上看到了我的路径是如何绘制两次的,所以最后一个点与第一个点连接,形成一条紧密的路径。
我猜这个调用输出中的元素只是用于远距离缩放或类似的东西。
但是,您仍然可以按照in this post所述解析其余内容。