微信小程序地址位置定位wx.getLocation 4G 与WIFI 不一致

wifi和4g定位原理不同,获取到的不一样的,小程序wx.getLocation 获取定位坐标,需要把type的值改成gcj02。如果使用wx.openlocation(),则使用gcj02,如果使用wx.chooselocation(),则使用wgs84。

一、精度修改为一致。

var currentLatitude = parseFloat(res.latitude).toFixed(6);  //纬度
var currentLongitude = parseFloat(res.longitude).toFixed(6); //经度

安卓:res.longitude和res.latitude是string类型的!!!

二、获取当前位置,通过申请腾旭地图接口获取地址信息。

  1. // 引入SDK核心类

  2. var QQMapWX = require('../../tools/qqmap-wx-jssdk.min.js');

  3. var qqmapsdk = new QQMapWX({key: '开发者密钥' });

  4. Page({

wx.getLocation({

type: 'gcj02',

success: function (res) {

qqmapsdk.reverseGeocoder({

location: {

latitude: parseFloat(res.latitude).toFixed(6),

longitude: parseFloat(res.longitude).toFixed(6)

},

success: function (addressRes) {

console.log(addressRes);

var address = addressRes.result.formatted_addresses.recommend;

}

})

},

})

 

});

方法二 :加上偏差值

一、判断是否网络模式WIFI,

wx.getNetworkType({
      success: function(res) {
        that.setData({
          netWorkType: res.networkType
        })
      },
    }),

二、加上偏差值

wx.getLocation({
       type: 'wgs84',
      success: function (res) {
        var latitude = res.latitude+0.001276    
        var longitude =  res.longitude+0.006256
      }       
    })
 

你可能感兴趣的:(微信小程序)