踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业 认可,点亮职业成长先机,快人一步抢占未来应用开发赛道! https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-itpub&ha_sourceId=70000033
背景
在使用geoLocationManager的getCurrentLocation方法获得的用户定位 经纬度 的坐标系为 WGS84 ,但是mapkit使用的是GCJ02坐标系。因此,我们在使用获取用户经纬度然后直接生成标记时,会出现坐标偏移问题。如下:
解决方案
使用
map
.convertCoordinateSync
方法,对已有的经纬度进行坐标系转换,生成GCJ02坐标系下的经纬度数值。
其中
this
.LocationLongitude
和this.LocationLatitude都是viewmodel类中定义的经纬度。
直接获取经纬度代码
获取转换后经纬度代码
实现效果:
完整代码
View
ViewModel
总结
上面地图遇到获取当前位置的经纬度的数值直接用来做标点时候,标点位置不正确的 bug ( 转载自CSDN,作者:baobao熊)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047792/viewspace-3104425/ ,如需转载,请注明出处,否则将追究法律责任。