【HMS Core】整合地圖服務不顯示地圖問題

2022-09-15 09:05:52

【問題描述】

關於華為HMS-地圖服務不顯示地圖的問題。

背景:整合華為地圖服務執行後頁面不顯示地圖,執行app後不展示地圖報錯MapsInitializer is not initialized。

cke_483.png

 

【解決方案一】

1、先檢查一下agconnect-services.json此檔案是否放到了主工程模組下。

cke_1111.png

2、如果第1步沒有問題,那麼請檢查agconnect-services.json此檔案中是否包含api_key資訊。

cke_2219.png

3、如果agconnect-services.json檔案中未包含api_key資訊, 那麼需要在執行了初始化程式碼之後,緊接著執行設定Api_key的程式碼, 如果檔案中包含了api_key資訊, 那麼就不需要再執行設定Api_key的程式碼了。即便執行的話, 也要保證Api_key有效。

MapsInitializer.initialize(this);

//如果agconnect-services.json中的「api_key」欄位值為空,請將該欄位替換為api_key欄位值。

//如果agconnect-services.json中的「api_key」欄位值不為空,那麼可以將此行程式碼遮蔽掉,不需要執行

MapsInitializer.setApiKey(MapUtils.API_KEY);

4、另外在載入地圖之前 一定要通過MapsInitializer.initialize(this);這行程式碼 初始化地圖。

5、如果前面的步驟都沒有問題的話,那麼可以開啟Demo的MainActivity.class類。

將setApiKey()遮蔽 , 如果不想遮蔽掉,那麼可以將API_KEY的值 修改為自己的。

cke_4106.png

或者將API_KEY修改為自己的API_KEY值。

cke_7410.png

 

【解決方案二】

1、可以將agconnect-services.json檔案複製到官方提供的Demo中, 複製完之後 可以將官方Demo中的applicationid改為與agconnect-services.json檔案中的package_name保持一致即可。

cke_11190.png

 

地圖載入問題重點:

1、確保App應用的證書指紋與AGC平臺設定的證書指紋保持一致。

2、確保專案的主模組下有agconnect-services.json檔案

3、初始化SDK這一步,可以放到setContentView之前。

cke_16154.png

cke_19295.png

4、如果提示【您的裝置未安裝最新版本的HMS Core,FlywindMap無法正常執行。】

1)地圖服務自6.3.1.304版本開始 , 移除了下載引導HMS Core Apk的能力。如果裝置中未安裝HMS Core Apk應用內,那麼確實會有這樣的提示

2)可以檢查一下裝置中是否有HMS Core Apk。如果沒有可以安裝一個HMS Core Apk

3)或者可以使用低於6.3.1.304的版本。

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/android-sdk-version-change-history-0000001050156688

cke_24855.png

欲瞭解更多更全技術文章,歡迎存取https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh