api 定位 微信小程序 精度_聊聊微信小程序内置地图定位的精确性
前段時(shí)間,一個(gè)客戶說(shuō)到,我們給做的 菜齊了小程序 商家定位的地圖不準(zhǔn)確!用戶想要去小程序指定的商家,從微信地圖入口導(dǎo)航到所需要的地點(diǎn)差了有上百米!
上百米,這距離可夠地遠(yuǎn)的,這怎么可能啊?我們一一查看作品,之前開發(fā)的時(shí)候發(fā)現(xiàn)基本上是定位比較精確的。
菜齊了小程序有三個(gè)終端:小程序、APP、PC后臺(tái)。
小程序用的是 微信內(nèi)置地圖,即騰訊地圖,直接導(dǎo)航使用;
APP用的百度地圖,通過(guò)自動(dòng)定位獲取;
PC設(shè)置用的是騰訊地圖,通過(guò)查找地點(diǎn)獲取。
我們從頭到尾一一去查看并分析問(wèn)題,最終確定方案如下:
1、讓用戶先用 百度地圖 在 地面 進(jìn)行定位
因?yàn)榈貓D定位用的是APP的百度地圖SDK,那么首先確定百度地圖的SDK肯定不準(zhǔn)確,經(jīng)確認(rèn)百度和小程序的地圖經(jīng)緯度差距確實(shí)挺大的。在地面定位時(shí),差距很小,一般在幾米左右,有時(shí)候是10米左右。在高的樓層,發(fā)現(xiàn)定位差距特別明顯,一般會(huì)在100米左右。
于是首先確定臨時(shí)解決方案:讓用戶先在地面進(jìn)行定位,不要在高層進(jìn)行定位!
因?yàn)楹芏鄷r(shí)間,地面定位的準(zhǔn)確,而高層定位差距很多!
2、更換 高德地圖
討論之后,廢棄百度地圖SDK,原計(jì)劃更換騰訊的SDK,但是發(fā)現(xiàn)居然沒(méi)有騰訊的SDK,于是更換為高德SDK。據(jù)曾經(jīng)開發(fā)過(guò)高德地圖的人都說(shuō),高德地圖很精確。于是果斷更換為高德地圖。
經(jīng)過(guò)一番開發(fā),地圖終于上線。經(jīng)測(cè)試后,發(fā)現(xiàn)還是經(jīng)緯度的精度不夠。
于是又果斷放棄!
3、更換小程序定位
想了想,小程序的定位,還得小程序來(lái)做。于是討論之后采用了小程序定位。
那怎么做才是最好的呢?
方案一:再找個(gè)小程序號(hào)做管理端
經(jīng)研究,這種方式功能少,而且管理也特別不方便,微信小程序官方也不一定會(huì)審核通過(guò)!于是再進(jìn)行反方案!
方案二:在本小程序給相應(yīng)的人增加管理權(quán)限
后臺(tái)給通過(guò)人員搜索到平臺(tái)人員,給相應(yīng)的人員增加管理權(quán)限!這樣管理人員就可以自己的小程序上進(jìn)行管理人員,并一鍵定位!
這樣的想法,應(yīng)該是完美!
于是,我們?cè)诠ぷ髦屑尤肓诉@樣的方案,但在工作中發(fā)現(xiàn)微信小程序也有兩種定位坐標(biāo)模式。
微信小程序有兩種定位模式,一種是 wgs84 , 一種是 gcj02,官方是這樣解釋的!
wgs84 返回的是 gps 坐標(biāo)
gcj02 返回的是 wx.openLocation 的坐標(biāo)
這兩種其實(shí)很好理解,一種是 衛(wèi)星 定位的坐標(biāo),一種是 微信內(nèi)置 打開時(shí)的坐標(biāo)!
如下圖所示:
經(jīng)過(guò)一番測(cè)試時(shí),發(fā)現(xiàn)和預(yù)期一樣!也就是說(shuō) wgs84 其實(shí)和 百度地圖 、高德地圖 定位效果是一致的!
而微信內(nèi)置地圖 gcj02 就是我們想要的效果!
總結(jié)
最終的結(jié)果就是:我們使用小程序定位,就應(yīng)該用小程序中定位方式。
方式采用 wx.getLocation 中的 type 參數(shù)等于 gcj02 的方式!
一切那么完美!
放出效果圖:
聲明:本人是山西岐伯科技創(chuàng)始人,如有項(xiàng)目訂制開發(fā)或網(wǎng)絡(luò)安全維護(hù),直接留言聯(lián)系我!
總結(jié)
以上是生活随笔為你收集整理的api 定位 微信小程序 精度_聊聊微信小程序内置地图定位的精确性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python字符串常用的方法_pytho
- 下一篇: 人行二代征信报告模版_人行首度明确,替代