【問題描述】
關於華為HMS-地圖服務不顯示地圖的問題。
背景:整合華為地圖服務執行後頁面不顯示地圖,執行app後不展示地圖報錯MapsInitializer is not initialized。
【解決方案一】
1、先檢查一下agconnect-services.json此檔案是否放到了主工程模組下。
2、如果第1步沒有問題,那麼請檢查agconnect-services.json此檔案中是否包含api_key資訊。
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的值 修改為自己的。
或者將API_KEY修改為自己的API_KEY值。
【解決方案二】
1、可以將agconnect-services.json檔案複製到官方提供的Demo中, 複製完之後 可以將官方Demo中的applicationid改為與agconnect-services.json檔案中的package_name保持一致即可。
地圖載入問題重點:
1、確保App應用的證書指紋與AGC平臺設定的證書指紋保持一致。
2、確保專案的主模組下有agconnect-services.json檔案
3、初始化SDK這一步,可以放到setContentView之前。
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/forum/?ha_source=zzh