-
-
[原创]【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(3)
-
发表于: 2024-10-21 11:29 2947
-
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暂时没有开放位置模拟功能,不存在虚拟定位问题
了解更多详情>>
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课