获取到的当前位置的经度和纬度,即使手机不动,经纬度值也在变化。
我在做一款记录运动轨迹和路程的App,采用5 API: watchPosition监听当前位置的经度和纬度,然后计算用户移动量。
http://www.dcloud.io/docs/api/zh_cn/geolocation.html#plus.geolocation.watchPosition
我发现即使手机不动,也会产生移动量。分析后发现:
即使手机不动,手机当前位置的经纬度值也在变化,即使设置采用高精度的参数enableHighAccuracy,也不行。
代码如下:
watchId = plus.geolocation.watchPosition( function ( p ) {
console.log( "监听位置变化信息:" );
geoInf( p );
}, function ( e ) {
console.log( "监听位置变化信息失败:" e.message );
},{provider:'system',enableHighAccuracy:true});
function geoInf( position ) {
var str = "";
var codns = position.coords;//获取地理坐标信息;
var lat = codns.latitude;//获取到当前位置的纬度;
str = "纬度:" lat "\n";
var longt = codns.longitude;//获取到当前位置的经度
str = "经度:" longt "\n";
console.log(str);
}
这个是不是HBuilder的bug?我用的是三星S5,android 4.4
如果不是,要如何才能得到正确的值,烦请高手解答!
1 个回复
符号 - 做自己,稳步向前!!
能加个qq好友吗?有问题请教