獲取用戶當前位置信息的兩種方法——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: '' // 在查看位置界面底部顯示的超鏈接,可點擊跳轉
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM