【问题描述】
关于华为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