写点什么

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

作者:HarmonyOS SDK
  • 2025-01-15
    贵州
  • 本文字数:1584 字

    阅读完需:约 5 分钟

1.问题描述:


添加了很多的 marker 点,每个 marker 点都设置了 customInfoWindow,但是每次只能显示一个 customInfoWindow 吗?


解决方案:


Marker 的 InfoWindow 每次只能显示一个。


2.问题描述:


在地图选型中,


1.使用华为 Map Kit,和使用高德、腾讯等 SDK 上,有什么优缺点比较吗?


2.Map Kit 是否需要商业授权?价格如何?


3.两种方案,最后 App 包大小是否有区别?


4.元服务的话,支持三方地图 SDK 吗?


解决方案:


1、Map Kit 是鸿蒙系统能力,下沉在操作系统中;三方地图 SDK 是应用根据需要添加依赖导入到应用包,使用方式不同;


2、按照指导文档开通地图服务即可,是否收费及费用标准以官方文档为准;


3、使用 Map Kit 系统能力,应用包的体积会更小一些;


4、支持


3.问题描述:


按照官网参考写的地图,还是不显示


在 AppGallery Connect 创建的测试应用,已配置 metadata 的 client_id


地图显示的灰色,没有显示出来


不知道哪里问题,控制台也没有报错信息,定位是成功了,蓝点也出来了,就是地图不显示


解决方案:


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


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


4.问题描述:


添加 rawfile 文件夹下图片(圆形切图)为 Marker 源图,实际效果出现黑边,这是什么原因?


解决方案:


这是地图功能的正常现象,黑边是为了区分每个图标的边界,防止元素堆叠混淆不清,目前没有办法去除。


5.问题描述:


地图组件全都报错“The API is not supported on all devices. Use the canIUse condition to determine whether the API is supported.”


解决方案:


接口不是在所有的设备都支持,有权限设置,所以会报错。


解决方法:


1、查看提示错误中的 syscap 信息


2、在接口调用处添加判断,例如:


if (canIUse("SystemCapability.Cloud.Iap")){


//TODO:


}


6.问题描述:


地图组件无法展示



import { MapComponent, mapCommon, map } from '@kit.MapKit';
...
this.callback = async (err, mapController) => {
if (!err) { // 代码未报错 err 为空
this.mapController = mapController;
this.mapController.on("mapLoad", () => {
console.info(this.TAG, `on-mapLoad`);
});
}
};
复制代码


在 App gallery Connect 的项目配置中的 api 配置已配置地图,module.json5 中已添加 client_id。


DevEco 采用的是 auto sign 方式, 但是配置证书指纹时选择的证书的指纹无法与 devEco 的指纹配置一致,是否是此原因导致的


解决方案:


您如果在 Sign Configs 中选择的是 auto sign 方式,请按照如下步骤验证您的证书配置是否正确:


1、记住 Sign Configs 中 Store file(*.p12) 里的证书所在文件夹地址;


2、打开 AppGallery Connect ,选择“证书、APP ID 和 Profile”服务,依次点击“证书”->“新增证书“ ,在弹出框的“选取证书请求文件(CSR)”选项中上传第一步中的文件夹地址中的该项目 .csr 文件,然后提交;


3、进入“我的项目”服务,在“常规”中的“应用”里点击“添加公钥指纹 (HarmonyOS API 9 及以上)”,在弹出框中选择第二步中添加的证书,并选择确认;

用户头像

HarmonyOS SDK

关注

HarmonyOS SDK 2022-06-16 加入

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

评论

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