时间:2019-05-07 来源:小程序工厂
onShow: function() {
var self = this;
if (key1) {
if (timer) {
clearInterval(timer);
};
console.log('show');
self.shishiyundong('show');
///
shishiyundong: function(kr) {
if (kr.type == 'tap') {
kr = 'yundong';
}
var that = this;
var objj;
timer = setInterval(function() {
wx.getLocation({
type: "gcj02",
success: function(res) {
// console.log(res);
dangqian = res;
objj = {
latitude: dangqian.latitude,
longitude: dangqian.longitude
};
plll.push(objj);
console.log(objj, plll, kr);
//设置polyline属性,将路线显示出来
that.setData({
polyline: [{
points: plll,
color: '#000000',
width: 2,
}],
marker: [{
markerId: 0,
iconPath: '../image/wz.png',
longitude: objj.longitude,
latitude: objj.latitude,
width: 30,
height: 30,
}],
});
},
fail: function(res) {}
});
}, 1000);
},
shishiyundong方法里第一行console.log,都不会打印吗?
会打印,但是下面就不会执行,经过不断测试,好像onshow里面不能启动定时器,把定时器去掉就可以用,可是我需要定时器,不知道为什么onshow里面不能开启定时器
setInterval 方法里第一行加console.log 没打印吗?
timer定义在page外面的吗
timer在page里一个方法的里面,刚刚试了好像setinterval执行,console.log有反应,循环,但是wx.getLocation没用
你试试 fail 分支里打印下 res 呢
不是这个函数报错,是这个函数压根不执行
打印不出来值
不对,出来太慢了,不是不执行,是报错timeout
那不知道问题了,建议做个代码片段,等官方人员来吧
这是怎么回事啊?我在hide里调用都没有问题的。。
wx.getLocation 超时???
errCode:-1,wx.getLocation:fail:timeout,是的
改下说明,等官方吧。我没遇到过这种情况。。
谢谢你
~~ helpless
官方正在修复,息屏会让定位sdk挂掉
这里有bug,我这边多次触发以后,熄屏不会关定位,第二次打开时,所有和定位有关的都不能用,都是fail:timeout。
对的。。。官方那边还说要月底修复,我还没想到解决办法
贴下你onShow的代码呢