uniapp 如何获取当前位置坐标

在uniapp中如何获取当前设备的经纬度坐标?我使用了uni.getLocation()方法但返回的坐标不准确,有时还会报权限错误。请问正确的实现方式是什么?需要配置哪些权限?如何解决Android和iOS平台的兼容性问题?

2 回复

使用 uni.getLocation 方法获取位置坐标。示例代码:

uni.getLocation({
  type: 'wgs84',
  success: (res) => {
    console.log('经度:' + res.longitude)
    console.log('纬度:' + res.latitude)
  }
})

注意:需要配置 manifest.json 添加定位权限,真机调试需开启定位功能。


在 UniApp 中,获取当前位置坐标可以通过 uni.getLocation 方法实现。以下是具体步骤和示例代码:

实现步骤:

  1. 权限配置:在 manifest.json 中配置定位权限(如 GPS 和网络定位)。
  2. 调用 API:使用 uni.getLocation 获取经纬度坐标。
  3. 处理结果:通过回调函数获取坐标数据或错误信息。

示例代码:

// 在页面方法中调用
getCurrentLocation() {
  uni.getLocation({
    type: 'wgs84', // 默认值,返回 GPS 坐标
    success: (res) => {
      console.log('当前位置纬度:', res.latitude);
      console.log('当前位置经度:', res.longitude);
      // 可进一步处理坐标(如显示地图)
    },
    fail: (err) => {
      console.error('获取位置失败:', err);
      uni.showToast({ title: '定位失败', icon: 'none' });
    }
  });
}

注意事项:

  • 真机测试:需在手机端测试,模拟器可能无法获取真实位置。
  • 用户授权:首次调用会请求用户定位权限,若拒绝需引导手动开启。
  • 精度选择type 可设为 wgs84(GPS 标准)或 gcj02(国测局坐标,适用于高德/腾讯地图)。

通过以上方法即可快速获取用户当前位置坐标。

回到顶部