先放上微信小程序中地圖組件的官方文檔,推薦先查看官方文檔,基礎(chǔ)部分只會(huì)稍帶提一下,主要講在開發(fā)《地圖》這款微信小程序時(shí)遇到的一些問題,以及解決方案。
下面會(huì)根據(jù)開發(fā)《地圖》期間遇到的地圖組件問題進(jìn)行講述,《地圖》把微信提供的地圖二次開發(fā)能力基本上都使用了,可以掃描下方二維碼進(jìn)行體驗(yàn)
地圖提供的外賣地圖、公園小區(qū)導(dǎo)航路線,并且能夠自己手繪地圖路線并分享。
地圖
基礎(chǔ)用法
map組件與view等常見組件類似,只是多了較多的參數(shù),具體參數(shù)的含義可以參考官方文檔。需要說明的是map組件的寬高是由組件樣式直接設(shè)置的,對于在外面套用一層view,通過控制外層view的寬高,來控制map組件的寬高是不可行。
如果是平常的展示地圖,只需要關(guān)注參數(shù)列表中的必填項(xiàng)即可。對于進(jìn)行更復(fù)雜的開發(fā)則需要關(guān)注controls、markers、polyline以及支持的事件。
初始定位以及定位時(shí)機(jī)
地圖組件使用時(shí)longitude、latitude兩個(gè)屬性是必填項(xiàng),分別表示中心點(diǎn)經(jīng)度、中心點(diǎn)緯度。這是定位需要關(guān)注的屬性。
由于小程序定位是異步執(zhí)行的,可能在小程序屏已經(jīng)渲染出來了,定位還未成功,所以推薦為longitude、latitude兩個(gè)屬性設(shè)置默認(rèn)值,默認(rèn)值可以設(shè)置成你更關(guān)注的區(qū)域內(nèi)的坐標(biāo)。
定位時(shí)機(jī)可以選在onLoad時(shí):
定位失敗的原因,一般都是用戶拒絕定位授權(quán),所以在fail的回調(diào)函數(shù)中應(yīng)該做的就是:
提醒用戶打開授權(quán)->跳轉(zhuǎn)設(shè)置頁->檢查是否開啟授權(quán)->為true時(shí)重新調(diào)用定位(推薦將定位流程封裝一下)。
若用戶仍然拒絕授權(quán),只是就別再走上述流程了(死循環(huán)),體驗(yàn)比停止服務(wù)還差。