uni-app iOS app中Map组件显示位置与安卓不一致

uni-app iOS app中Map组件显示位置与安卓不一致

5 回复

你两个手机都打开hello uni-app都微信小程序查看一下定位。如果仍然偏差比较大估计是设备问题。

更多关于uni-app iOS app中Map组件显示位置与安卓不一致的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个并不是定位,而是传入的经纬度

回复 y***@foxmail.com: 想问下 你这个问题解决了嘛。。

请提供一个复现问题的示例工程

在uni-app中,Map组件在iOS和Android平台显示位置不一致是常见问题,主要原因是两个平台使用的原生地图SDK不同(iOS用苹果地图,Android用高德/Google地图)。建议从以下方面排查:

  1. 坐标系问题:
  • iOS默认使用WGS84坐标系
  • 国内Android一般用GCJ02坐标系
  • 可使用uni.getLocation设置type参数统一坐标系
  1. 定位权限差异:
  • iOS需要配置NSLocation权限描述
  • Android需要动态申请定位权限
  1. 代码兼容处理:
// 统一坐标系处理示例
uni.getLocation({
  type: 'gcj02', // 国内统一使用火星坐标系
  success: (res) => {
    this.latitude = res.latitude
    this.longitude = res.longitude
  }
})
  1. 平台判断:
// 针对平台做不同处理
#ifdef APP-PLUS
  // iOS特有处理
#endif
#ifdef ANDROID
  // Android特有处理
#endif
回到顶部