uniapp uni.getLocation 获取位置

uni.getLocation获取位置

两种模式

默认为 wgs84 返回 gps 坐标,gcj02 返回国测局坐标,可用于 uni.openLocation 和 map 组件坐标,App 和 H5 需配置定位 SDK 信息才可支持 gcj02。

wgs84

wgs84只能获取粗略的经纬度,偏差可能会比较大

uni.getLocation({
	type: 'wgs84', 
	success: function (res) {
		console.log('当前位置的经度:' + res.longitude);
		console.log('当前位置的纬度:' + res.latitude);
	}
});
success 这样写的时候要注意this的指向问题  
像上面这样写可以在方法外面 定义一个参数等于this 
例如 let that = this
如果不定义参数 就把success写成箭头函数就行
success:(res)=>{...}

gcj02

使用gcj02需要配置定位的sdk,我使用的高德地图
在这里插入图片描述
gcj02可以获取精确的地理位置
geocode:true 时 success返回的参数会多一个address
address返回的是地址信息
在这里插入图片描述
上面是address返回的参数说明

uni.getLocation({
	type: 'gcj02', 
	geocode:true, // 可以解析地址信息,仅App平台支持(安卓需指定 type 为 gcj02 并配置三方定位SDK)
	success: function (res) {
		console.log('当前位置的经度:' + res.longitude);
		console.log('当前位置的纬度:' + res.latitude);
	}
});

获取到经纬度和精确位置之后就可以使用高德地图的地理定位和逆地理定位了,需要注意的是 使用高德地图的这些api需要申请Web服务API类型Key
详细的可以查阅一下高德地图的api文档

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值