收藏
回答

有没大佬帮忙看下代码

sign: function () {

var that = this

const la1 = 31.991362

const lo1 = 118.737908

wx.getLocation({

type: 'gcj02',

success: function (res) {

const la2 = res.latitude

const lo2 = res.longitude

var La1 = la1 * Math.PI / 180.0;

var La2 = la2 * Math.PI / 180.0;

var La3 = La1 - La2;

var Lb3 = lo1 * Math.PI / 180.0 - lo2 * Math.PI / 180.0;

var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(La3 / 2), 2) + Math.cos(La1) * Math.cos(La2) * Math.pow(Math.sin(Lb3 / 2), 2)));

s = s * 6378.137;//地球半径

s = Math.round(s * 10000) / 10000;

if (s > 0.2) {

wx.showToast({

title: '距离不够' + s,

icon: 'none'

})

console.log("距离不够" + s)

} else {

wx.showToast({

title: '签到成功',

icon: 'success'

})

console.log("sssssssss===" + s)

}

}

})

//判断是否获得了用户地理位置授权

wx.getSetting({

success: function(res){

if (!res.authSetting['scope.userLocation']){

wx.openSetting({

success: function (res) {

if (res.authSetting["scope.userLocation"]) {

wx.showToast({

title: '授权成功',

icon: 'success',

duration: 1000

})

}

}

})

}

}

})

}

回答关注问题邀请回答
收藏

3 个回答

  • 佛本慈悲
    佛本慈悲
    2018-09-27

    wx.getLocation()是获取用户地址信息,没授权就会弹出授权框;

    wx.getSetting()是获取用户授权状态;

    wx.openSetting()是跳转至授权页面。

    你自己先搞清楚微信API的含义

    2018-09-27
    有用 1
    回复 1
    • 夏目_侯雨伯
      夏目_侯雨伯
      2018-09-28

      了解,非常感谢

      2018-09-28
      回复
  • 卢霄霄
    卢霄霄
    2018-09-27

    问题是啥。。你没说

    2018-09-27
    有用 1
    回复 18
    • 夏目_侯雨伯
      夏目_侯雨伯
      2018-09-27



      点击签到的时候,会先跳出第一张图,返回后才会出现第二张图,不知道为啥会出现扯个原因

      2018-09-27
      回复
    • 卢霄霄
      卢霄霄
      2018-09-27回复夏目_侯雨伯

      你把getSetting部分整个去掉

      2018-09-27
      回复
    • 夏目_侯雨伯
      夏目_侯雨伯
      2018-09-27回复卢霄霄

      去掉之后,用户拒绝就没法再签到了,我之前就是这么写的,现在是处理拒绝之后的情况的

      2018-09-27
      回复
    • 卢霄霄
      卢霄霄
      2018-09-27回复夏目_侯雨伯

      用 wx.authorize


      2018-09-27
      回复
    • 夏目_侯雨伯
      夏目_侯雨伯
      2018-09-27回复卢霄霄

      我试试

      2018-09-27
      回复
    查看更多(13)
  • 夏目_侯雨伯
    夏目_侯雨伯
    2018-09-27

    具体将不清楚,代码复现一下吧

    2018-09-27
    有用
    回复
登录 后发表内容