H5微信 获取用户当前位置信息

Posted 名字被占用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H5微信 获取用户当前位置信息相关的知识,希望对你有一定的参考价值。

在之前的 调用百度地图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: \'\' // 在查看位置界面底部显示的超链接,可点击跳转
});

 

以上是关于H5微信 获取用户当前位置信息的主要内容,如果未能解决你的问题,请参考以下文章

vue基于百度地图获取位置信息

H5地理定位获取用户当前位置城市

h5怎么获取页面的session

h5页面获取微信授权登录

h5的一些小扩展

关于微信小程序获取当前位置信息