如何通过地图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获得任意两个地点的距离的主要内容,如果未能解决你的问题,请参考以下文章

高德地图API javascript坐标间距离计算

如何计算百度地图上两点的距离

Android 百度地图API 如何计算两个坐标之间的驾车距离?

如何在百度地图API 中 标注自己的地点啊?

通过电话进行 Google 地图/地点 API 搜索

随记--确定两个地点的经纬度,自制驾车路线并计算其距离