這篇文章主要介紹微信小程序中如何解決騰訊地圖顯示偏差問題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作負(fù)責(zé)任的成都網(wǎng)站制作公司!背景
在小程序中使用map組件,可以調(diào)用騰訊地圖的API,將一些固定的點(diǎn)標(biāo)記到地圖界面上,點(diǎn)的經(jīng)緯度獲取是通過android端百度地圖API獲取的,所以此時(shí)將這個(gè)位置點(diǎn)信息直接設(shè)置上去會(huì)出現(xiàn)偏差,而且偏差還比較大
小程序設(shè)置位置點(diǎn)
關(guān)于如何在map組件上設(shè)置位置點(diǎn),詳細(xì)請查看騰訊官方文檔
首先看一下map組件:
其markers是需要設(shè)置在地圖界面的位置點(diǎn)數(shù)組,數(shù)組中的元素就是一個(gè)對象。
markers: [{ iconPath: "/resources/others.png", id: 0, latitude: 23.099994, longitude: 113.324520, width: 50, height: 50 }, iconPath: "/resources/others.png", id: 0, latitude: 23.094994, longitude: 113.424520, width: 50, height: 50 }],
這里的latitude和longitude如果直接給其他地圖定位的點(diǎn),那么相同的這個(gè)點(diǎn)位置,在小程序中會(huì)出現(xiàn)偏差;
原因
小程序中的定位方式默認(rèn)的是wgs84,而百度地圖中使用的是BD09 ,還有g(shù)cj02。所以這里會(huì)出現(xiàn)偏差。
解決方案
使用離線的js庫gcoord,將位置信息進(jìn)行一次轉(zhuǎn)換;
首先下載這個(gè)js庫,放至某一個(gè)目錄下,我這里是utils下
在需要的界面導(dǎo)入
import gcoord from '../../../utils/gcoord.js'
調(diào)用轉(zhuǎn)換函數(shù)
var result = gcoord.transform( [resArr[i].JD, resArr[i].WD], // 經(jīng)緯度坐標(biāo) gcoord.BD09, // 當(dāng)前坐標(biāo)系(百度) gcoord.GCJ02);
這里在小程序中修改為gcj02,國測數(shù)據(jù),因此轉(zhuǎn)為gcj02;
以上是“微信小程序中如何解決騰訊地圖顯示偏差問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!