uniapp H5使用uni.getLocation定位以及调用高德api转地址

getLocation() {
	uni.getLocation({
		type: 'gcj02',// 使用国测局坐标系
		isHighAccuracy: true, // 开启高精度定位
		success: (res) => {
			console.log(res)
			this.latitude = res.latitude; // 纬度
			this.longitude = res.longitude; // 经度
			console.log('纬度:', this.latitude);
			console.log('经度:', this.longitude);
		},
		fail: (err) => {
			console.error('获取位置失败', err);
		}
	});
}

 如果需要获取详细的地址信息,可以结合高德地图或腾讯地图的逆地理编码API

// 逆地理转地址
turnAddress() {
		// 高德逆地理变码 https://lbs.amap.com/api/webservice/guide/api/georegeo/
		let that = this;
				
		uni.request({
			method: 'GET',
			url: 'https://restapi.amap.com/v3/geocode/regeo?parameters',
			data: {
				key: 'YOUR_AMAP_APPKEY',// 替换为你的高德地图AppKey
				location: `${that.longitude},${that.latitude}`,
				output: 'JSON'
			},
			success: async (res) => {
				if (res.statusCode === 200 && res.data.status === '1') {
					//用户所在的地理位置信息
					that.address = res.data.regeocode.formatted_address
				} else {
					console.error('逆地理编码失败:', res.data);
				}
			},
			fail: err => {
				console.log(err);
			}
		});
}

需要使用第三方地图库,得在manifest.json配置文件上按需配置,如我的h5则需要在web配置上

配置高德的key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值