最近在開發(fā)小程序的時候,客戶提出一個要求,就是他們的教育測評機構(gòu)是在不同城市里的,可能一個機構(gòu)在幾個城市都有辦公點,同時需要獲取用戶的當前城市的位置來展示不同的測評機構(gòu)信息,不在當前城市的測評機構(gòu)就不顯示了。
獲取用戶當前位置的功能可以打開騰訊位置服務的網(wǎng)站,注冊一個用戶,然后申請一個KEY密鑰,這樣就可以配置KEY的信息了,如下圖所示:
其中“荔園小程序”這個KEY名是我已經(jīng)創(chuàng)建好的,具體的設置如下圖所示:
在填寫了Key名稱和描述后,需要勾選“微信小程序”,然后填寫授權(quán)IP,勾選WebServiceAPI,選擇“域名白名單”,這里就遇到了一個坑,注意不要在下面的編輯框填寫任何內(nèi)容,否則在運行小程序調(diào)用接口的時候會提示“請求來源未被授權(quán), 此次請求來源域名: servicewechat.com”。第二個就是要在微信小程序平臺里添加一個域名白名單,如下圖所示:
這里有一個很有趣的情況,就是如果你在WebServiceAPI的域名白名單里填寫了,上面的域名,那么即使你在微信小程序平臺里添加上面的域名,也會提示“請求來源未被授權(quán), 此次請求來源域名: servicewechat.com”。
然后就是下載qqmap-wx-jssdk1.0文件夾,將里的JS文件放到小程序的utils文件夾就可以使用。
小程序是用getUserLocation獲取用戶的位置,但需要用戶授權(quán)才能成功獲取,然后通過getLocation方法獲取經(jīng)度和緯度,然后需要用type:’wgs84’把經(jīng)緯度轉(zhuǎn)成百度的坐標,然后再使用getLocal方法獲取用戶的具體位置,這里需要使用到reverseGeocoder
方式(具體可以看小程序的開發(fā)文檔,以上的方法小程序的開發(fā)文檔都有講到),通過返回值就可以獲取到用戶的位置信息,如下圖所示:
用戶res.result.ad_info.city就可以得到所在的城市名稱了,然后根據(jù)城市的名稱,調(diào)用不同的測評機構(gòu)信息展示給用戶