【HarmonyOS NEXT】地图使用详解(三)标点定位问题

30 阅读1分钟

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!developer.huawei.com/consumer/cn…

背景

在使用geoLocationManager的getCurrentLocation方法获得的用户定位经纬度的坐标系为 WGS84 ,但是mapkit使用的是GCJ02坐标系。因此,我们在使用获取用户经纬度然后直接生成标记时,会出现坐标偏移问题。如下:

图片 1.png

解决方案

使用map.convertCoordinateSync方法,对已有的经纬度进行坐标系转换,生成GCJ02坐标系下的经纬度数值。
其中this.LocationLongitude和this.LocationLatitude都是viewmodel类中定义的经纬度。

直接获取经纬度代码

图片 2.png

获取转换后经纬度代码

图片 3.png

实现效果:

图片 4.png

完整代码

View

图片 5.png

ViewModel

图片 6.png

图片 7.png

图片 8.png

图片 9.png

图片 10.png

总结

上面地图遇到获取当前位置的经纬度的数值直接用来做标点时候,标点位置不正确的bug(转载自CSDN,作者:baobao熊)