微信H5获取地理位置

适用于在开发微信公众号里获取微信地理信息

调用方法:
var u = navigator.userAgent;
var isIOS = u.indexOf("iPhone") > -1 || u.indexOf("Mac OS") > -1;
var url=location.href.split('#')[0];
if(isIOS){  
    //这是因为在IOS上,无论路由切换到哪个页面,实际真正有效的的签名URL是【第一次进入应用时的URL】。startUrl在app.js里面设置location.href.split('#')[0]
    url= localStorage.getItem('startUrl') 
}
this.config('/st/info/getWechatInfo',url)


// --------------------------------------------------------------------------------------------------------------------------------------------------
import wx from 'weixin-js-sdk'
// 微信初始化
// api 获取签名的后台接口
// url 需要进行微信初始化的路径
config(api,url) {
    // if(!Common.pcOrPhone || navigator.userAgent.indexOf('MicroMessenger') == -1) return;
    this.$request.post({
        url: api,
        params: {
            pageUrl: url,
        },
        success: result => {
            result= JSON.parse(result);
            var appId = result.appId;
            var timeStamp = result.timestamp;
            var nonceStr = result.noncestr;
            var Sign = result.signature;
            //--------初始化----------
            wx.config({
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                appId: appId, // 必填,公众号的唯一标识
                timestamp: timeStamp, // 必填,生成签名的时间戳
                nonceStr: nonceStr, // 必填,生成签名的随机串
                signature: Sign,// 必填,签名
                jsApiList: [
                    'getLocation',
                    'openLocation'
                ] // 必填,需要使用的JS接口列表
            });
            this.getByLocation();
        }
    })
},
// 获取地理坐标
getByLocation(){
    let _this=this
    wx.ready(function(){
        wx.getLocation({
            type: 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
            success: function (res){
                // alert('getByLocation:'+res);
                console.log('纬度',res.longitude)
                console.log('精度',res.latitude)
                _this.latitude= res.latitude
                _this.longitude= res.longitude
            },
            error: function(res){
                alert('我打印的错误:'+res)
        }
        })
    })
},

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值