HMS Core地圖服務(Map Kit)給開發者提供一套地圖開發調用的SDK,助力全球開發者實現個性化地圖呈現與交互,方便輕鬆地在應用中集成地圖相關的功能,全方位提升用戶體驗。 在日常工作中,我們會收到很多開發者們留言集成地圖服務中遇到的問題,這裡我們將典型問題進行分享和總結,希望為其他遇到類似問 ...
HMS Core地圖服務(Map Kit)給開發者提供一套地圖開發調用的SDK,助力全球開發者實現個性化地圖呈現與交互,方便輕鬆地在應用中集成地圖相關的功能,全方位提升用戶體驗。
在日常工作中,我們會收到很多開發者們留言集成地圖服務中遇到的問題,這裡我們將典型問題進行分享和總結,希望為其他遇到類似問題的開發者提供參考
1.應用集成地圖服務後,地圖載入不出來(顯示網格地圖/只有部分地圖)如何解決?
(1)檢查是否未打開Map Kit開關或是證書指紋配置有誤,可參考Codelab
(2)請檢查HMS版本是否是4.0.0及以上。SDK版本為6.X時 HMS core(apk)的版本需要升級至6.X
(3)項目中App ID與AppGallery Connect上是否一致。
(4)未配置指紋SHA256。需在本地生成簽名證書指紋,然後在AppGallery Connect中配置。
(5)未配置應用的AppGallery Connect配置文件,將“agconnect-services.json”文件拷貝到應用級根目錄下。
(6)在android中配置簽名。將生成簽名證書生成的簽名文件複製到工程的“app”目錄下,併在“build.gradle”文件中配置簽名。
2.如何通過地圖服務獲取自己實時位置?
(1)可以啟用我的位置()添加標記
hMap.setMyLocationEnabled(true);
hMap.getUiSettings().setMyLocationButtonEnabled(true);
具體使用細節參考文檔
(2)getPosition()獲取標記當前位置()
具體使用細節參考文檔
3.地圖載入後,水印、指南針、我的位置、縮放按鈕等控制項不顯示,只顯示地圖。是什麼原因?
(1)檢查zOrderOnTop屬性的設置。zOrderOnTop(true):表示地圖展示在最頂層,會覆蓋其他控制項。zOrderOnTop(false):表示地圖不展示在最頂層,其他控制項可以正常顯示。
(2)設置縮放zoomControlsEnabled,指南針compassEnabled,我的位置setMyLocationEnabled等屬性為true.
具體細節參考網站說明
4.集成地圖服務後,我的位置功能不起作用是什麼原因?
(1)請檢查是否開啟了android.permission.ACCESS_FINE_LOCATION和android.permission.ACCESS_COARSE_LOCATION許可權。(包括動態許可權申請,位置開關是否開啟)
(2)檢查是否開啟瞭如下兩個開關:
//啟用位置圖層
map.setMyLocationEnabled(true);
//啟用我的位置按鈕
map.getUiSettings().setMyLocationButtonEnabled(true);
5. 集成地圖服務後,當添加2000個markers時,應用會出現卡頓的現象?
在調用map.clear()時清除Marker時,如果又有添加Marker的操作,會導致重新聚合,效率低下;
可在調用map.clear()時,在後面加一行代碼map.setMarkersClustering(false),防止清除過程中重新聚合。
瞭解更多詳情>>
訪問華為開發者聯盟官網
獲取開髮指導文檔
華為移動服務開源倉庫地址:GitHub、Gitee
關註我們,第一時間瞭解 HMS Core 最新技術資訊~