利用html5+的API,先构造一个routeObj,然后取route的distance计算距离,代码如下:
var aa=new plus.maps.Point(116.384902,39.928391);
var bb=new plus.maps.Point(119.572351,32.874547);
var routeObj = new plus.maps.Route(aa,bb);
alert(routeObj.distance);
为什么这样得到的结果始终为0呢?
或者怎么获取两坐标点间的距离?
谢谢~
3 个回复
hh (作者)
或者自己写js代码实现?
NZH
function toRad(d) { return d Math.PI / 180; }
function getDisance(lat1, lng1, lat2, lng2) { #lat为纬度, lng为经度, 一定不要弄错
var dis = 0;
var radLat1 = toRad(lat1);
var radLat2 = toRad(lat2);
var deltaLat = radLat1 - radLat2;
var deltaLng = toRad(lng1) - toRad(lng2);
var dis = 2 Math.asin(Math.sqrt(Math.pow(Math.sin(deltaLat / 2), 2) + Math.cos(radLat1) Math.cos(radLat2) Math.pow(Math.sin(deltaLng / 2), 2)));
return dis * 6378137;
}
alert( getDisance(39.91917,116.3896,39.91726,116.3940) );
aQiu
同问,请问您解决了吗