uniapp获取当前经纬度、地图逆地址解析

该功能可用于移动端,官网:uni.getLocation(OBJECT) | uni-app官网

uni.getLocation({
			type: 'gcj02', // 坐标类型,默认为wgs84,可选的值为gcj02和bd09ll
			// isHighAccuracy:true,
			success: res => {
				// 获取成功,经度和纬度在res.longitude和res.latitude中
				console.log('longitude:', res.longitude);
				console.log('latitude:', res.latitude);
				//业务代码......
			},
			fail: err => {
				// 获取失败,err为错误信息
				console.log('getLocation err:', err);
			}
		});


使用gcj02精度会更高些,isHighAccuracy:true也是为了更高精度的显示。在小程序中调用该方法,会要求授权位置权限,同意即可使用。

地图逆地址解析

无论是腾讯还是高德还是百度,逆地址解析大方法都是一样,这里用天地图举例。

uni.request({
			header: {
				'Content-Type': 'application/text',
			},
			//注意:这里的key值需要高德地图的 web服务生成的key  只有web服务才有逆地理编码
			url: `http://api.tianditu.gov.cn/geocoder?postStr={'lon':${经度},'lat':${纬度},'ver':1}&type=geocode&tk=你的key`,
			success(res) {
				console.log(res, "获取位置成功信息")
			},
			fail(err) {
				console.log(err, "获取位置失败信息")
			}
		})

第三方会提供api接口,uniapp中调用,这里使用的uni.request方法发起请求

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniapp中进行经纬度地址解析可以使用第三方地图API,例如高德地图、百度地图等。以下是使用高德地图API进行地址解析的示例代码: 1. 在uniapp项目中安装axios库,可以使用以下命令进行安装: ``` npm install axios ``` 2. 在uniapp项目中创建一个api.js文件,用于封装调用高德地图API的方法。示例代码如下: ``` import axios from 'axios'; const KEY = 'your_amap_key'; // 替换为自己的高德地图API Key // 根据经纬度获取地址解析信息 export function getAddressByLocation(location) { return axios.get(`https://restapi.amap.com/v3/geocode/regeo?output=json&location=${location}&key=${KEY}&radius=1000&extensions=all`); } ``` 3. 在需要进行地址解析的页面中,引入api.js文件,并调用getAddressByLocation方法进行调用。示例代码如下: ``` import { getAddressByLocation } from '@/api'; uni.getLocation({ success: function(res) { // 获取经度和纬度 var longitude = res.longitude; var latitude = res.latitude; console.log('经度:' + longitude); console.log('纬度:' + latitude); // 调用高德地图API进行地址解析 getAddressByLocation(longitude + ',' + latitude).then(res => { console.log('地址解析结果:', res.data); // 在页面上显示地址信息 this.address = res.data.regeocode.formatted_address; }).catch(err => { console.log('地址解析失败:', err); }); }, fail: function(res) { console.log('获取位置信息失败'); } }); ``` 在上述代码中,通过getLocation方法获取经纬度信息,然后调用getAddressByLocation方法进行地址解析,最后将解析结果显示在页面上。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值