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 最新技術資訊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464105.html
標籤:Android
