uni-app中使用uni.getLocation和uni.chooseLocation
uni-app中使用uni.getLocation和uni.chooseLocation
使用uni.getLocation和uni.chooseLocation用的是高德的key。是不是还需要高德开发平台申请商业授权和缴纳费用(5万/年)
2 回复
老师,你有答案了吗
在uni-app中,uni.getLocation
和uni.chooseLocation
是两个常用的API,分别用于获取当前设备的地理位置信息和让用户选择地理位置信息。下面我将给出如何在uni-app中使用这两个API的代码案例。
使用uni.getLocation
获取当前地理位置
uni.getLocation
用于获取当前设备的地理位置信息,包括经度、纬度等。以下是一个简单的示例:
// 调用uni.getLocation获取当前地理位置
uni.getLocation({
type: 'gcj02', // 返回可以用于wx.openLocation的经纬度
success: function (res) {
console.log('当前位置:', res);
const latitude = res.latitude;
const longitude = res.longitude;
const speed = res.speed; // 速度,单位:米/秒
const accuracy = res.accuracy; // 精度,单位:米
// 可以在这里使用获取到的经纬度进行其他操作,如显示地图
uni.openLocation({
latitude: latitude,
longitude: longitude,
scale: 18
});
},
fail: function (err) {
console.error('获取位置失败:', err);
}
});
使用uni.chooseLocation
让用户选择地理位置
uni.chooseLocation
用于调用原生接口,让用户选择地理位置,并返回该位置信息。以下是一个示例:
// 调用uni.chooseLocation让用户选择地理位置
uni.chooseLocation({
success: function (res) {
console.log('用户选择的地理位置:', res);
const name = res.name; // 地点名称
const address = res.address; // 详细地址
const latitude = res.latitude; // 纬度,浮点数,范围为-90~90
const longitude = res.longitude; // 经度,浮点数,范围为-180~180
// 可以在这里使用用户选择的经纬度进行其他操作,如导航
uni.showModal({
title: '提示',
content: `您选择的地点是:${name},地址:${address}`,
showCancel: false,
success: function (modalRes) {
// 可以进一步处理,如导航到该地点
uni.openLocation({
latitude: latitude,
longitude: longitude,
scale: 18,
name: name,
address: address
});
}
});
},
fail: function (err) {
console.error('选择位置失败:', err);
}
});
以上两个代码案例展示了如何在uni-app中使用uni.getLocation
和uni.chooseLocation
。前者用于获取当前设备的地理位置,后者用于让用户选择地理位置。你可以根据具体需求,将获取到的经纬度等信息用于显示地图、导航等功能。