微信小程序getLocation定位偏差問題


2021年5月11日13:23:17

首先是坐標系的問題

 

WGS84 :地理坐標系統,Google Earth和中國外的Google Map使用,另外,目前基本上所有定位空間位置的設備都使用這種坐標系統,例如手機的GPS系統。
GCJ-02:投影坐標系統,也就是我們平常所說的火星坐標系,Google Map中國、高德和騰訊地圖使用,這個是中國自己在WGS84基礎上加密而成,目的顯而易見。
BD09:投影坐標系統,百度地圖使用,在GCJ-02基礎上二次加密而成。

國內各地圖API坐標系統比較

API 坐標系
百度地圖API 百度坐標
騰訊搜搜地圖API 火星坐標
搜狐搜狗地圖API 搜狗坐標
阿里雲地圖API 火星坐標
圖吧MapBar地圖API 圖吧坐標
高德MapABC地圖API 火星坐標
靈圖51ditu地圖API 火星坐標


 
 
 
 
 
 
 
 
 
 
 
 
當然你可以用過坐標轉換來提高精度,但是
https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html
 

wx.getLocation返回的精度只有五位數,相比其他地圖API返回8-10位或者更多,即使轉換也不是一個好辦法

 

后台使用的是騰訊地圖定位的gps,小程序默認返回的是wgs84,經過轉換依然偏差還是很大,解決精度的辦法就是

wx.getLocation({
 type: 'gcj02',
 success (res) {
   const latitude = res.latitude
   const longitude = res.longitude
   const speed = res.speed
   const accuracy = res.accuracy
 }
})

 即使開啟高精度 isHighAccuracy: true 依然沒什么屁用

gcj02的坐標就是騰訊本身使用的坐標體系,所以在微信接口內部轉換的精度損失會很小,經過測試,基本定位精度會顯示在0.01KM,基本不影響用戶使用
 
參考
鏈接:https://www.jianshu.com/p/c39a2c72dc65

 
 


免責聲明!

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



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