uniapp获取地理位置


uniapp中如果我们想要获取用户当前的地理位置(经纬度),我们可以使用uni.getLocation(OBJECT)。

官方文档 : uni.getLocation(OBJECT)

配置

在使用该方法之前我们需要在manifest.json中配置,不然请求数据时会报错,错误原因是在app .json或ext.json中声明没有声明requiredPrivateInfos 字段,即没有添加需要获取地理位置的权限。
在这里插入图片描述
mainfest.json添加如下代码进行配置


/* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "自己的appid",
        "requiredPrivateInfos" : [ "getLocation" ]
    },

页面中使用

uni.getLocation({
	type: 'wgs84',
	success: function (res) {
		console.log('当前位置的经度:' + res.longitude);
		console.log('当前位置的纬度:' + res.latitude);
	}
});

返回结果

在这里插入图片描述

用户授权

如果想要通过用户授权来判断用户是否给应用授予定位权限,可以使用
uni.authorize(OBJECT)

官方文档 : uni.authorize(OBJECT)

用户授权配置

"mp-weixin" : {
   "appid" : "自己的appid",
   "permission" : {
	   "scope.userLocation" : {
		   "desc" : "你的位置信息将用于小程序定位"
	   }
   },
   "requiredPrivateInfos" : [ "getLocation" ]
  },

用户授权页面中使用

在这里插入图片描述

uni.authorize({
    scope: 'scope.userLocation',
    success() {
        uni.getLocation({
        	type: 'wgs84',
        	success: function (res) {
        		console.log(res);
        		console.log('当前位置的经度:' + res.longitude);
        		console.log('当前位置的纬度:' + res.latitude);
        	},
        	fail: function (err) {
        		console.log(err);
        	},
        });
    }
})
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp获取地理位置可以使用小程序的原生 API,具体步骤如下: 1. 引入权限声明:在 `manifest.json` 文件中,添加以下代码来声明获取地理位置的权限: ```json "permission": { "scope.userLocation": { "desc": "获取地理位置信息" } } ``` 2. 获取地理位置:在需要获取地理位置的页面或组件中,可以使用 `uni.getLocation` 方法来获取地理位置信息。示例代码如下: ```javascript uni.getLocation({ type: 'gcj02', success: function(res) { const latitude = res.latitude; // 纬度 const longitude = res.longitude; // 经度 } }); ``` `type` 参数指定了返回的坐标类型,可选值包括 `'wgs84'`、`'gcj02'` 和 `'bd09'`,其中 `'gcj02'` 是国测局坐标系,一般在国内使用。 3. 处理定位失败:在获取地理位置失败的情况下,可以在 `success` 回调函数中添加 `fail` 参数来处理失败情况。示例代码如下: ```javascript uni.getLocation({ type: 'gcj02', success: function(res) { const latitude = res.latitude; // 纬度 const longitude = res.longitude; // 经度 }, fail: function(err) { console.log(err); } }); ``` 注意:在使用 `uni.getLocation` 方法前,请确保已经声明了获取地理位置的权限,并且用户已经授权。如果用户未授权,则需要通过其他方式引导用户进行授权。 以上是获取地理位置的基本步骤,UniApp 还提供了其他与地理位置相关的 API,如获取地理位置的逆地址解析、监听位置变化等。具体的使用方法可以参考 UniApp 的官方文档。希望对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值