f***@126.com
f***@126.com
  • 发布:2017-07-08 16:01
  • 更新:2021-09-06 06:12
  • 阅读:3380

watchPosition在ios平台下maximumAge设置间隔时间无效,在安卓平台下正常

分类:HTML5+

使用百度的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的值,都不管用~~
求大神救助~~

2017-07-08 16:01 负责人:无 分享
已邀请:
f***@126.com

f***@126.com (作者)

自顶一下~求助呀,这个真的很着急~
求助~~

f***@126.com

f***@126.com (作者)

自顶一下~求助呀,这个真的很着急~
求助~~

f***@126.com

f***@126.com (作者)

每日置顶~~~~请见谅

9***@qq.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);

                        var post_data={};  
                        post_data.latitude=p.coords.latitude; // 纬度,浮点数,范围为90 ~ -90  
                        post_data.longitude=p.coords.longitude;// 经度,浮点数,范围为180 ~ -180。  
                        post_data.coord_type_input='wgs84';   
                        post_data.entity_name='设备1';  
                        addPoint(post_data);  

                    }, function(e){  
                        var h='<p>'+moment().format('YYYY-MM-DD HH:mm:ss')+'<p>'  
                        h+='<div>Geolocation error: ' + e.message+'</div>';  
                        $('#record').append(h);  
                    },{  
                        enableHighAccuracy:true,  
                        provider:'system',  
                        maximumAge:60000  
                    });
小权

小权

再顶一下,就没有官方的人说一下这个maximumAge参数么?
现在iOS后台或锁屏持续定位没问题了,但是设置间隔要怎么实现?@DCloud_heavensoft

DCloud_IOS_XTY

DCloud_IOS_XTY

ios API 不支持maximumAge参数,位置更新之后才会回调,如果没有回调可以使用上次的位置或者使用get获取,
后台定位请参考http://ask.dcloud.net.cn/article/695

3***@qq.com

3***@qq.com

maximumAge 指的是获取当前毫秒之前的经纬度 并非间隔多少毫秒获取。

z***@gmail.com

z***@gmail.com - 40不惑

PositionOptions.maximumAge (en-US)
是一个正的 long 值。它表明可以返回多长时间(即最长年龄,单位毫秒)内的可获取的缓存位置。如果设置为 0, 说明设备不能使用一个缓存位置,而且必须去获取一个真实的当前位置。如果设置为 Infinity ,那么不管设置的最长年龄是多少,设备都必须返回一个缓存位置。默认值:0。

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