【HMS Core】集成地图服务不显示地图问题

时间:2022-09-26 14:18:45

【问题描述】

关于华为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/doc/development/HMSCore-Guides/android-sdk-version-change-history-0000001050156688#section313913291483

欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh