您所在的位置:首页 / 知识分享

微信H5获取用户当前位置信息的两种方法

2019.12.19

2717

wng_png

在之前的 调用百度地图API的总结 中获取当前位置信息我用的是 H5 ,其实微信也提供了获取用户地理位置的方法,现将这两种方法都贴出来,看情况选择使用。

一、H5 获取当前地理位置得到经纬度


   // H5 获取当前位置经纬度 var location_lon = '',location_lat = ''; // 经度,纬度 if (navigator.geolocation){
        navigator.geolocation.getCurrentPosition(function (position) {
            location_lon = position.coords.longitude;
            location_lat = position.coords.latitude; // alert('h5经度:'+location_lon);alert('h5纬度:'+location_lat);  });
    }else {
        alert("您的设备不支持定位功能");
    }

二、微信公众平台(地理位置)

微信有获取用户地理位置的接口,在 wx.config 中配置就可以用了:


wx.config({
    debug: true, 
    appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名 jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表 });

获得权限后就可以直接使用 wx.getLocation() 方法获得用户的地理位置了:


wx.getLocation({
   type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' success: function (res) {  var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90  var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。  var speed = res.speed; // 速度,以米/每秒计  var accuracy = res.accuracy; // 位置精度  }
});

三、地理位置配合地图展示

获得的经纬度可以使用百度地图或者高德地图展示,微信内置地图也可以查看位置:


wx.openLocation({
   latitude: 0, // 纬度,浮点数,范围为90 ~ -90 longitude: 0, // 经度,浮点数,范围为180 ~ -180。 name: '', // 位置名 address: '', // 地址详情说明 scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大 infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转 });

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

相关新闻

我奶奶看了都点赞的前端脚手架教程

2020.12.31

1148

一说起脚手架,你肯定会想到vue-cli。有些人看到vue-cli那个酷炫的功能和交互就会打退堂鼓。如果我告诉你,我们只需要具备nodejs基础就能写出vue-cli那样的功能来,你是不是稍微会兴奋点呢?接下来跟着我的步伐一点一点揭开脚手架的面纱吧。