通过微信的JSSDK中的getLocation方法获取定位,服务开始运行的一段时间内都能成功获取,过了一段时间后(至少四五个小时),获取定位就一直失败,直接走了fail
方法。
通过移动调试,控制台只有一个weixin://preInjectJSBridge/fail
错误输出,网上查了一下说是ES6的语法造成的,添加polyfill
这个JS就好了,但是我这个就是用传统的JQuery写的,但也尝试加了polyfill
还是不行。定位代码如下:
wx.ready(function () {
wx.getLocation({
type: 'gcj02',
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
loadArea(longitude, latitude); //调用高德地图的API
},
fail: function () {
loadArea("31.1497879079", "121.1242591886");
$.alert("无法获取您的城市信息,请稍后重试!", "提示")
},
cancel: function () {
loadArea("31.1497879079", "121.1242591886");
$.alert("无法获取您的城市信息,请允许获取您的位置信息!");
}
});
});
同遇到此问题,本地开发当中突然无法定位,并且同事的手机也无法使用定位,不知道是设么原因,怀疑tx 做了某些限制,目前正在排查中.