利用微信JSSDK实现自动定位

最近在做微信公众号网页开发,遇到两个需要用到微信的JSSDK,上传图片和自动定位,微信开发者文档有详细的步奏内容,链接点击进入微信开发者文档 ,也可以看看我这篇文章,看我是如何实现的。

首先第一步,需要在页面引入微信的JS文件(http和https都行)

<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

第二步,获取签名

后台会给前端一个接口,前端通过这个接口发送请求获取必要的签名信息,并进行配置

sendAjax.weixin.getSdkSign({'传入参数'},function(msg){
    let sdkSign = msg.sdkSgin; // 后台返回的值
      wx.config({
        debug: false, // 因为在手机上测试没法打印,当debug为true时,所有的返回值都会在手机上alert出来
        appId: sdkSign.appId, // 必填,公众号唯一标识
        timestamp: sdkSign.timestamp, // 必填,生成签名的时间戳
        nonceStr: sdkSign.nonceStr, // 必填,生成签名的随机串
        signature: sdkSign.signature,// 必填,签名
        jsApiList: ['chooseImage','uploadImage'] // 必填,需要使用的JS接口列表,需要用到什么接口就去开发者文档查看相应的字段名
      });
wx.ready(function(){
        wx.getLocation({
          type: 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
          success: function (res) {
            let latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
            let longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
          }
        });
      });
});

其中,sendAjax.weixin.getSdkSign 是我个人自己封装的ajax请求,不用多在意。

进页面就需要进行定位,但是we.getLocation需写在we.ready里面,就是需要wx.config配置完成后才能进行下一步。微信端给你返回的是经纬度,并不是具体的地址,所以可以借用高德地图的请求,通过经纬度获取具体地址。

高德地图参考网址高德开放平台

至此,利用微信JSSDK实现自动定位功能基本就实现了,有疑问或者不对的地方欢迎留言。

猜你喜欢

转载自blog.csdn.net/guozhangqiang/article/details/80763273