關於使用Dcloud+H5Api+地圖sdk實現定位的解決方案


背景:

說到定位問題,當然是選用瀏覽器定位。但是瀏覽器定位不是那么好用,加上國行Android手機“閹割”了谷歌GMS服務包,導致HTML5的geolocation無法使用wifi和基站定位服務;

解決方法:

既然谷歌的服務被禁止了,那就換一個廠家唄,我國國內的好幾家地圖廠商;目前Dcloud集成的地圖廠家有百度和高德;那就用這兩個即可;

步驟如下:

1Dcloud提供了兩個可以繼承的地圖sdk,分別是百度地圖和高德地圖。以高德為例

2、高德提供了針對安卓和ios的單獨的兩個appkey,我們需要在高德開發者中心生成這個兩個key,以安卓為例;

進入個人控制台—>應用管理—>我的應用—>創建新應用

創建完成后添加key 

 

填寫基本信息,SHA1安全碼可以選擇通過andriod studio生成也可以選擇先隨便填寫;

通過生成的碼就不用反過來重新填寫了;

創建完成后把生成安卓key填入到hbuilder項目中的高德sdk安卓appkey配置中

然后配置應用的基本信息   注:應用名稱跟高德后台配置的名稱一定要一致

 

配置完成后,進行打包即可; 

測試代碼如下:

 

(function($, doc) {

 

$.init();

$.plusReady(function() {

plus.geolocation.getCurrentPosition(geoInf, function(e) {

alert("獲取定位位置信息失敗:" + e.message);

}, {

geocode: true,

provider: 'amap'

});

function geoInf(position) {

alert(JSON.stringify(position));

}

});

}(mui, document));

 

打包成功后,安裝app安裝app后出現錯誤提醒;

紅色標注的是你自己的安全碼SHA1,藍色的是packName

 

核實后填寫到高德剛才配置的key中;

 

配置后就可以正常獲取位置信息了;

 

先這樣吧,后期再完善!坑多的有點吃不消,還望堅持!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM