欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新

【FAQ】接入HMS Core地图服务过程中常见问题总结,在日常工作中,我们会

来源: 开发者 投稿于  被查看 43170 次 评论:168

【FAQ】接入HMS Core地图服务过程中常见问题总结,在日常工作中,我们会


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 最新技术资讯~

用户评论