uni.getLocation({
type: 'gcj02',
success: (res) => {
if (platform == 'android') { //正常情况下需要转百度坐标,安卓测试正常
var bd09 = TransformCoordinate.gcj02tobd09(res.longitude, res.latitude) //国测局转百度坐标
res.longitude = bd09[0];
res.latitude = bd09[1]
}
//如果是ios系统,gcj02转百度坐标不正确,不转百度坐标反而正确了?
}
});

- 发布:2022-07-05 18:06
- 更新:2022-07-05 19:35
- 阅读:585
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 21H2
HBuilderX类型: 正式
HBuilderX版本号: 3.4.18
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iPhoneX
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
uni.getLocation({type: 'gcj02',success: (res) => {
//res.longitude和res.latitude,在Android和IOS下,获取到的经纬度不一至
});
uni.getLocation({type: 'gcj02',success: (res) => {
//res.longitude和res.latitude,在Android和IOS下,获取到的经纬度不一至
});
预期结果:
Android和IOS,获取到的经纬度应该一致
Android和IOS,获取到的经纬度应该一致
实际结果:
Android和IOS,获取到的经纬度不一致
Android和IOS,获取到的经纬度不一致
bug描述:
经多次测试,IOS获取的gcj02百度坐标无需要转。在ios上为什么百度不用转才正确呢,毕竟设置的是gcj02坐标系,安卓下需要转百度坐标正常。
1 个回复
DCloud_iOS_WZT
使用百度定位建议传入bd09坐标系 之所以有这个现象是因为当你传入gcj02坐标系后,iOS内部将你百度地图的使用的坐标系设置为gcj02 两端差异性问题后续版本会抹平