写点什么

【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(6)

作者:HarmonyOS SDK
  • 2025-03-17
    贵州
  • 本文字数:1661 字

    阅读完需:约 5 分钟

1.问题描述:


使用华为内置的 MapComponent, 发现显示不出来。查看日志, MapRender 底层有报错。


解决方案:


麻烦按以下步骤检查下地图服务,特别是签名证书指纹那部分。


1.一般没有展示地图,可能和没有配置 SHA256 指纹证书配置,网络,定位权限,没有打开地图服务等有关系,如果刚配置完权限等,需要 24h 生效,(可以将手机系统时间往后设置 24h)。


2.module.json5 文件中 metadata 节点下 clientid 写正确—需要在里面直接写 client_id 的信息,不能通过 $符引用资源文件中的值,当前无法解析这种引用方式;


3.需要开发者检查一下当前的签名证书指纹是否也是自动签名的,需要改成手动签名且需要和 AGC 上配置的证书指纹一致


签名证书使用 这个选项中的 配置方式 “选择 SHA256 公钥指纹‘’


a、生成配置指纹:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/push-preparations-0000001727885250#section388942317518


b、配置证书指纹:https://developer.huawei.com/consumer/cn/doc/app/agc-help-signature-info-0000001628566748#section5181019153511


可以重点检查一下 clientid 以及 AGC 平台配置的证书指纹是否是手动生成, 打包时使用的证书是否与 AGC 平台上配置的一致;


2.问题描述:


区划选择提示 map 权限 ,但在 appGallery 网页中已经开启了 map 权限,还需要什么权限?


解决方案:


如果已经开通了权限,可能有缓存,需要通过 USB 接口连接测试设备,按照以下步骤操作配置并清下缓存:


1、清除鉴权 缓存


hdc shell rm -rf /data/service/el1/public/cloud_interface_auth/scopecache/*


2、终止鉴权进程


hdc shell


ps -ef | grep auth,获取 cloud_interface_auth 的 PID 如 34639


kill -9 34639,将 SA 进程停止以清理缓存。


3、清除 demo 和 mapservice 缓存数据然后开始测试


hdc shell bm clean -n 应用包名(如 com.huawei.maps.demoA) -d


hdc shell bm clean -n 应用包名(如 com.huawei.maps.demoA) -c


hdc shell bm clean -n com.huawei.hms.mapservice -d


hdc shell bm clean -n com.huawei.hms.mapservice -c


3.问题描述:


js 地图设置语言为中文,导航返回的还是英文


解决方案:


js 语言设置 mapOptions 的 fmapOptions.language='CHI';中 language 为小写;中文简体值是:CHI


参考链接:https://developer.huawei.com/consumer/cn/doc/HMSCore-References/js-hwmap-0000001050990165#section12313153115171


4.问题描述:


如何拉起地图类应用,可以让用户选择花瓣地图或者高德地图等并传入当前位置和目的地位置的经纬度进行导航?


解决方案:


开发者好,可通过 Want 拉起 Petal 地图应用


详细可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/map-petalmaps-V5#section116043716599


拉起高德地图可参考https://developer.huawei.com/consumer/cn/doc/sdk-gallery-guides/eco-sdk-map-gaode-ditu-0000001787589728


5.问题描述:


调用 sceneMap.queryLocation 方法报无权限,可是后台配置已勾选,地图无法显示


解决方案:


此错误码代表 1002600004 三方应用没有开通地图服务权限,建议排查以下原因:


1、https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/map-config-agc-V5是否已开通地图服务


2、检查一下 module.json5 中的 client_id 与 AppGallery Connect 中的 client_id 是否一致。如果一致的话可以将手机往后调 24 小时再试一下


3、是否是手动签名:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-dev-overview-V5


4、配置 client_id 的 value 时,不能通过 resource 中的值配置(例如 $media.icon),请直接写入 client_id 的值。如:"value": "109920437"


6.问题描述:


Map 如何在屏幕上全部显示出来所有的 Marker 点?


解决方案:


可以添加多个 Marker,使用 MapComponentController.addMarker 接口,返回添加的 marker 实例 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/map-map-V5#section0810361284


显示多个 marker 可以参考


marker 自定义信息窗,请参考链接https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/map-marker-V5

用户头像

HarmonyOS SDK

关注

HarmonyOS SDK 2022-06-16 加入

HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙原生应用,和开发者共同成长。

评论

发布
暂无评论
【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(6)_HarmonyOS SDK_InfoQ写作社区