调用方法如下:
function watchPos() {
window._watchId = plus.geolocation.watchPosition( function ( p ) {
console.log(p);
postPos(p);
}, function ( e ) {
alert(JSON.stringify(e)); // timed out的错误就是这里弹出来的
}, {geocode:true,enableHighAccuracy:true,provider:'baidu',maximumAge:60000,timeout:15000} );
}
以前都没有发生这种情况,是从昨天开始的。很奇怪
appkey已经配置,plus.geolocation.getCurrentPosition可以正常使用
测试了无论使用badiu,amap,system都会返回{"code":3,"message":"Position retrieval timed out."}
2 个回复
青椒茄子
今天刚好遇见这个问题,记录下我的解决方法:
1、正式打包之前,请引入map模块;
2、在manifest.json中配置高德或百度地图的key;
3、使用getCurrentPosition获取位置信息时,对第三个参数options配置,如下:
上面参数解释:
1、ios使用system自带的定位服务即可,返回GPS坐标即wgs84
2、android由于system自带的定位服务支持不完善,引入了百度或高德Map模块(在manifest.json配置), 返回gcj02坐标
3、返回结果时请根据平台自行进行坐标转换,坐标转化查看工具:gpsutil.js
4:android平台provider选择baidu是因为调试基座默认引入的是百度map,以减少调试成本;
wanghui - php开发工程师,会vue
这个问题我也遇到了,之前也是没问题的,安卓没有此问题,ios使用plus.geolocation.watchPosition后获得成功2次之后就提示超时了
2***@qq.com
你好 请教一下这个超时问题最后怎么解决的呢
2019-11-28 11:59