使用百度的watchPostion在安卓平台下可以正常10分钟执行一次定位,但是换到ios平台上,maximumAge参数设置后没有效果,watchPostion会在非常短的时间间隔内不停执行。
代码如下:
function watchPos() {
window._watchId = plus.geolocation.watchPosition( function ( p ) {
console.log(p);
}, function ( e ) {
console.log(e);
}, {geocode:false,enableHighAccuracy:false,provider:'baidu',maximumAge:600000} );
}
不知道原因,换了好几种maximunAge的值,都不管用~~
求大神救助~~
9 个回复
f***@126.com (作者)
自顶一下
~求助呀,这个真的很着急~求助~~
f***@126.com (作者)
自顶一下
~求助呀,这个真的很着急~求助~~
f***@126.com (作者)
每日置顶~~~~请见谅
9***@qq.com
option设置没有,我的是只要应用切换到后台后,就不能定位了,前台运行的时候是没有问题的。安卓平台
小权
我做了个demo测试,设置maximumAge为60000(60秒),根本没用。
安卓手机上测试每隔几十秒获取一次,iphone上测试每隔几秒就获取一次。
这是什么情况。。这参数真有用吗。。
watchId=plus.geolocation.watchPosition(function(p){
var h='<p>'+moment().format('YYYY-MM-DD HH:mm:ss')+'<p>'
h+='<div>Latitude:' + p.coords.latitude + '</div><div>Longitude:' + p.coords.longitude + '</div><div>Altitude:' + p.coords.altitude+'</div>';
$('#record').append(h);
小权
再顶一下,就没有官方的人说一下这个maximumAge参数么?
现在iOS后台或锁屏持续定位没问题了,但是设置间隔要怎么实现?@DCloud_heavensoft
DCloud_IOS_XTY
ios API 不支持maximumAge参数,位置更新之后才会回调,如果没有回调可以使用上次的位置或者使用get获取,
后台定位请参考http://ask.dcloud.net.cn/article/695
3***@qq.com
maximumAge 指的是获取当前毫秒之前的经纬度 并非间隔多少毫秒获取。
z***@gmail.com - 40不惑
PositionOptions.maximumAge (en-US)
是一个正的 long 值。它表明可以返回多长时间(即最长年龄,单位毫秒)内的可获取的缓存位置。如果设置为 0, 说明设备不能使用一个缓存位置,而且必须去获取一个真实的当前位置。如果设置为 Infinity ,那么不管设置的最长年龄是多少,设备都必须返回一个缓存位置。默认值:0。