收藏
回答

第二次触发onshow函数,函数中的调用函数真机测试时不执行

利用微信内置地图进行实际开发时,发现熄屏后再次触发show函数时,show函数提示被触发,在show函数中放的是一个定时器,定时器中放着一个API为wx.getLocation,show函数被触发后,定时器也被触发,可是wx.getLocation没有被触发,并且一直报错,错误信息为errCode: -1, errMsg: "getLocation:fail:timeout"。

最后一次编辑于  2018-10-16
回答关注问题邀请回答
收藏

2 个回答

  • Zellorar
    Zellorar
    2018-10-16

    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);

    },


    2018-10-16
    有用
    回复 19
    • 卢霄霄
      卢霄霄
      2018-10-16

      shishiyundong方法里第一行console.log,都不会打印吗?

      2018-10-16
      回复
    • Zellorar
      Zellorar
      2018-10-16回复卢霄霄

      会打印,但是下面就不会执行,经过不断测试,好像onshow里面不能启动定时器,把定时器去掉就可以用,可是我需要定时器,不知道为什么onshow里面不能开启定时器

      2018-10-16
      回复
    • 卢霄霄
      卢霄霄
      2018-10-16回复Zellorar

      setInterval 方法里第一行加console.log 没打印吗?

      2018-10-16
      回复
    • 卢霄霄
      卢霄霄
      2018-10-16回复Zellorar

      timer定义在page外面的吗

      2018-10-16
      回复
    • Zellorar
      Zellorar
      2018-10-16回复卢霄霄

      timer在page里一个方法的里面,刚刚试了好像setinterval执行,console.log有反应,循环,但是wx.getLocation没用

      2018-10-16
      回复
    查看更多(14)
  • 卢霄霄
    卢霄霄
    2018-10-16

    贴下你onShow的代码呢

    2018-10-16
    有用
    回复
登录 后发表内容