如何通过地图API获得任意两个地点的距离
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过地图API获得任意两个地点的距离相关的知识,希望对你有一定的参考价值。
比如琶洲与棠下的距离、岗顶和白云山的距离。。。谢谢给出解决方案(源码)
可以通过GLatLng类的distanceFrom方法来实现GLatLng 是以经度和纬度表示的地理坐标点。他的构造函数是GLatLng(lat:Number, lng:Number, unbounded?:Boolean);(lat表示纬度,lng表示经度)
注意纬度和经度的顺序。如果 unbounded 标记为 true,则将使用传递的数字,
用的是google map 的API
否则纬度会限定在 -90 度和 +90 度之间,而经度会限定在 -180 度和 +180 度之间。
distanceFrom(other:GLatLng) 返回从此点到某个指定点的距离(以米为单位)。地球近似一个球体,因此距离可能会有不会超过 0.3% 的误差。
举个例子:比如说巴州经纬度是a,b,棠下经纬度是x,y;
GLatLng bazhou= new GLatLng(a, b, true);
GLatLng tangxia = new GLatLng(x, y, true);
var distance1=bazhou.distanceFrom(tangxia);
distance1就是巴州到棠下的距离,能看懂吧应该
参考资料:http://code.google.com/intl/zh-CN/apis/maps/documentation/reference.html#GLatLng.GLatLng
参考技术A 可以通过GLatLng类的distanceFrom方法来实现GLatLng 是以经度和纬度表示的地理坐标点。他的构造函数是GLatLng(lat:Number, lng:Number, unbounded?:Boolean);(lat表示纬度,lng表示经度)
注意纬度和经度的顺序。如果 unbounded 标记为 true,则将使用传递的数字,
用的是google map 的API
否则纬度会限定在 -90 度和 +90 度之间,而经度会限定在 -180 度和 +180 度之间。
distanceFrom(other:GLatLng) 返回从此点到某个指定点的距离(以米为单位)。地球近似一个球体,因此距离可能会有不会超过 0.3% 的误差。
举个例子:比如说巴州经纬度是a,b,棠下经纬度是x,y;
GLatLng bazhou= new GLatLng(a, b, true);
GLatLng tangxia = new GLatLng(x, y, true);
var distance1=bazhou.distanceFrom(tangxia);
distance1就是巴州到棠下的距离,能看懂吧应该。
以上是关于如何通过地图API获得任意两个地点的距离的主要内容,如果未能解决你的问题,请参考以下文章