【uni-app】申请高德地图key,封装map.js,实现HiOS、Android通过getlocation获取地图定位信息
申请高德地图Key的步骤:
- 访问高德开放平台官网(https://lbs.amap.com/)。
- 注册并登录账号。
- 进入控制台,选择“应用管理”。
- 创建新应用,获取所需的Web服务API、Web端、iOS端、Android端的Key。
封装map.js:
// 封装高德地图API调用
const amapKey = '你的高德地图key'; // 替换为你的高德地图Key
// 获取位置信息
function getLocation() {
return new Promise((resolve, reject) => {
uni.getLocation({
type: 'wgs84',
success: (res) => {
resolve(res);
},
fail: (err) => {
reject(err);
}
});
});
}
// 使用高德地图API进行逆向解析地址
function getAddress(latitude, longitude) {
return new Promise((resolve, reject) => {
uni.request({
url: `https://restapi.amap.com/v3/geocode/regeo?key=${amapKey}&location=${longitude},${latitude}`,
success: (res) => {
if (res.data && res.data.regeocode) {
resolve(res.data.regeocode.formatted_address);
} else {
reject(new Error('无法获取地址信息'));
}
},
fail: (err) => {
reject(err);
}
});
});
}
export default {
getLocation,
getAddress
};
使用封装的map.js:
import map from './map.js';
async function getUserLocation() {
try {
const location = await map.getLocation();
const address = await map.getAddress(location.latitude, location.longitude);
console.log('用户位置:', address);
} catch (error) {
console.error('获取位置失败:', error.message);
}
}
getUserLocation();
请确保在使用这些代码之前,你已经正确地将高德地图Key替换到amapKey
变量中,并且已经处理好相关的权限问题,例如在Android和iOS平台上获取位置信息的权限。
评论已关闭