当前位置: 首页 > 后端技术 > Java

【FAQ】接入HMSCore地图服务过程中常见问题汇总

时间:2023-04-01 16:09:15 Java

HMSCore地图服务(MapKit)为开发者提供了一套地图开发和调用的SDK,帮助全球开发者实现个性化的地图展示和交互、方便轻松在应用中集成地图相关功能,全方位提升用户体验。在日常工作中,我们会收到很多开发者发来的关于集成地图服务遇到的问题的留言。在此将典型问题进行分享和总结,希望能为其他遇到类似问题的开发者提供参考。1、应用集成地图服务后无法加载地图(显示网格地图/只显示部分地图)如何解决?(1)检查MapKit开关是否未开启或证书指纹配置错误,请参考Codelab(2)请检查HMS版本是否为4.0.0及以上。当SDK版本为6.X时,HMScore(apk)版本需要升级到6.X(3)项目中的AppID是否与AppGalleryConnect上的一致。(4)未配置指纹SHA256。签名证书指纹需要在本地生成,然后在AppGalleryConnect中配置。(5)应用的AppGalleryConnect配置文件未配置,复制“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(真);5。集成地图服务后,添加2000个标记时,应用会卡顿?调用map.clear()清除Marker时,如果有另外一个操作添加Marker,会导致重新聚合,效率低下;在调用map.clear()时,在后面添加一行代码map.setMarkersClustering(false),防止清除时重新聚合。更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~