【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(3)
1.问题描述:
compatibleSdkVersion 升级到 5.0.0(12)之后,调用坐标系转换 API:map.convertCoordinate(mapCommon.CoordinateType.WGS84, mapCommon.CoordinateType.GCJ02, { longitude: location.longitude, latitude: location.latitude })会必现启动 native crash。例如,创建一个空白工程(empty ability),在 EntryAbility.onDestroy 中调用上述方法,则 App 启动就会 native crash(即使 App 启动时 EntryAbility.onDestroy 并没有执行到)
解决方案:
是已知问题,可通过以下两种方式解决。【解决方案】升级系统新版本 3.0.0.18(SP33DEVC00E18R4P1log)【规避方案】1、打开 IDE 中 SDK 配置路径下 HarmonyOS-NEXT-DB1(此路径可能有些区别)\hms\ets\api 目录 2、找到 @hms.core.map.map.d.ts 文件,打开后删除 * @bundle com.huawei.hms.mapservice.kit/mapLibrary/ets/map 5.0.0(12)3、找到 @hms.core.map.mapCommon.d.ts 文件,打开后删除 * @bundle com.huawei.hms.mapservice.kit/mapLibrary/ets/mapCommon 5.0.0(12)4、找到 @hms.core.map.MapComponent.d.ets 文件,打开后删除 * @bundle com.huawei.hms.mapservice.kit/mapLibrary/ets/MapComponent 5.0.0(12)5、关闭并重新打开 DevEco Studio,导航栏->Build->Clean Project,重新打包即可。
2.问题描述:
Map Kit 中是否有 cameraMoveEnd 的方法,用来监听地图移动结束?目前找到了 cameraMoveStart 和 cameraMove。
解决方案:
可以使用这个方法:on(type: 'cameraIdle')https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/map-map-V5#section1478064219344
3.问题描述:
地图组件是否支持添加海量 marker,有没有数量限制?
解决方案:
地图组件支持添加海量 marker, 官方文档中没有明确的 marker 数量限制的说明,默认是 5000,如果超过 5000 的话,可能会受到系统性能方面的限制。
4.问题描述:
文档提及“在国内站点,中国大陆、中国香港和中国澳门使用 GCJ02 坐标系,中国台湾和海外使用 WGS84 坐标系。”为什么在国内使用定位获取到的是 WGS84 坐标系,而不是 GCJ02 坐标系?
解决方案:
当前 LocationKit 提供的默认坐标系都是 84 坐标系,所以,在国内(包括港澳)通过 WGS84 坐标调用 Map Kit 服务时需要先将其转换为 GCJ02 坐标系再访问。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/convertcoordinate-services-V5#section194373053016
5.问题描述:
在地图位置服务相关文档上只找到 WGS84 坐标系转 GCJ02 坐标系的方法(map.convertCoordinate),如何实现 WGS84 坐标系转 BD09LL 坐标系?
解决方案:
可以使用百度 HarmonyOS NEXT 版地图 SDK 进行坐标转化,具体参考文档:https://lbs.baidu.com/faq/api?title=harmonynextsdk/guide/navigation/coordinate
6.问题描述:
鸿蒙系统是否能防控虚拟定位作弊防,在 Android 上存在大量虚拟定位的问题,鸿蒙是否提供机制或方法规避?
解决方案:
当前 HarmonyOS Next 暂时没有开放位置模拟功能,不存在虚拟定位问题
了解更多详情>>
评论