微信的JSSDK有兩個關于地理位置的接口:
一個是 getLocation , 使用者授權同意後,可以擷取使用者的地理位置
一個是openLocation,可以使用微信内置地圖檢視位置接口。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcVjUuJGbkhEZ5FjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jMzUjNxMDM3ETOygDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
百度的LBS的服務接口,有LBS.雲服務,利用這個雲存儲存儲線下店鋪的位置,雲檢索可以根據使用者的位置,進行距離搜尋。
好了,我們該怎麼實作的這個功能呢?
第一步,基于百度地圖的雲存儲,将線下的門店儲存到百度雲存儲裡面。
第二步,使用者通過公衆号進入頁面的時候,擷取使用者的位置
第三步,将使用者擷取的位置發送到伺服器端,伺服器端向百度發起雲檢索,得到的資料傳回給用戶端。
第四部,将資料呈現給使用者看,并由使用者進行選擇,進行導航,點選導航就利用微信内置地圖檢視位置接口,顯示出來。
到此完成,使用者就可以利用這個微信的内置地圖導航了,而微信的地圖導航,支援各大地圖,我們就不需要考慮使用者的手機上,究竟裝的是高德地圖,還是百度地圖,還是其他的啥的。
背景效果如下:
前台效果:
實作功能,中間有不少的坑,不過好在都過去了。
後續有機會,更新具體的實作代碼。