uni-app小程序 + 腾讯地图实现定位

 官网提示小程序使用uni.getLocation(OBJECT) 不能直接获取到详细的中文描述,需要下载第三方的SDK包。我使用的是腾讯

首先需要在腾讯地图API中注册key,

官网地址

        

 申请KEY:

        

 在项目中创建一个文件夹,将下载的SDK放到文件夹中。

因为我使用 import  from 进行引入的。 所以SDK需要小小的改动一下。

设置uniapp的配置文件:

在文件中引入:

        

datafo.qqmapsdk  通过 reactive 声明的变量保存new QQMapWX的实例

	
onLoad(() => {
		positionLog()
	})
async function positionLog() {
		const location = await getLocationInfo();
		console.log(location,"当前位置信息");
	}
	//获取位置信息
	async function getLocationInfo() {
		return new Promise((resolve) => {
			//位置信息默认数据
			let location = {
				longitude: 0,
				latitude: 0,
				province: "",
				city: "",
				area: "",
				street: "",
				address: "",
			};
			uni.getLocation({
				type: "gcj02",
				success(res) {
					location.longitude = res.longitude;
					location.latitude = res.latitude;
					// 腾讯地图Api
					datafo.qqmapsdk = new QQMapWX({
						key: '' //这里填写自己申请的key
					});
					datafo.qqmapsdk.reverseGeocoder({
						location,
						success(response) {
							let info = response.result;
							console.log(info);
							location.province = info.address_component.province;
							location.city = info.address_component.city;
							location.area = info.address_component.district;
							location.street = info.address_component.street;
							location.address = info.address;
							resolve(location);
						},
					});
				},
				fail(err) {
					console.log(err)
				},
			});
		});
	}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值