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 方法实现。以下是具体步骤和示例代码:
实现步骤:
- 权限配置:在
manifest.json中配置定位权限(如 GPS 和网络定位)。 - 调用 API:使用
uni.getLocation获取经纬度坐标。 - 处理结果:通过回调函数获取坐标数据或错误信息。
示例代码:
// 在页面方法中调用
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(国测局坐标,适用于高德/腾讯地图)。
通过以上方法即可快速获取用户当前位置坐标。

