drifter
drifter
  • 发布:2015-01-08 17:35
  • 更新:2016-06-17 11:48
  • 阅读:2970

获取当前位置与设定坐标间的距离问题,为什么输出distance的值是 0

分类:HTML5+

我写的代码如下:

function LocationRoute(){  
                plus.geolocation.getCurrentPosition(function(position){  
                    var jd = position.coords.longitude;  
                    var wd = position.coords.latitude;  
                    var pos = new plus.maps.Point(jd,wd);  
                    console.log("show local point ##### "+pos);  
                    var nhs = new plus.maps.Point(113.146182,23.049072);  
                    console.log("show local point ##### "+nhs);  
                    var route = new plus.maps.Route(pos,nhs);  
                    var dst = route.distance;  
                    console.log("this is the distance ###### "+dst);  
                })  
             }

参照Hello H5 中获取坐标的代码获取当前坐标,然后按照规范Maps 中的Route 对象获得两点坐标距离
但最后输出的距离是 0
请问各位大神上面的代码问题在哪里?谢谢!

2015-01-08 17:35 负责人:无 分享
已邀请:
benben

benben

请问找到解决的办法了吗

小刀

小刀

我也是0

NZH

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) );

该问题目前已经被锁定, 无法添加新回复