返回顶部
首页 > 资讯 > 移动开发 >【小程序】微信小程序获取用户位置,经纬度及逆地址解析
  • 304
分享到

【小程序】微信小程序获取用户位置,经纬度及逆地址解析

小程序微信小程序uni-appjavascript前端 2023-09-15 13:09:17 304人浏览 八月长安
摘要

文章目录 前言一、获取经纬度二、逆地址解析1.申请API Key2.使用WebService API 前言 在针对小程序埋点时,需要获取到用户的位置,uniapp有自带获取位置的方法

文章目录


前言

在针对小程序埋点时,需要获取到用户的位置,uniapp有自带获取位置的方法uni.getLocation其中可以获取到经纬度,以及中文地址address,但是中文地址仅APP端支持,小程序是用不了的。现在只能拿到经纬度,再通过经纬度逆地址解析,得到中文地址。


提示:以下是本篇文章正文内容,下面案例可供参考

一、获取经纬度

获取经纬度的方法有很多:

  1. uniapp可以通过uni.getLocation获取
  2. wx.getLocation获取
  3. 三方api/sdk获取

1,需要在app.JSON里面声明你所需要用的接口

在uniapp的manifest.json源码视图里面进行声明

如果不声明是无法正常使用接口的,更多接口声明可以查看微信官方规则

"requiredPrivateInfos": [    "getLocation"  ],

注意:如果小程序上线,需要提前申请开通使用接口的权限且只针对部分主体提供使用权限,否则审核不会通过 微信官方申请

2,注意保护用户的隐私,需要经过用户授权之后才可以获取用户位置,如果用户拒绝了也是无法获取到的。
在app.json里面配置获取用户定位权限的提示:

"permission": {    "scope.userLocation": {      "desc": "你的位置信息将用于小程序位置接口的效果展示" // 定位    }  },

3,判断用户是否已经授权定位,如果没有授权则弹出获取定位权限的提示,可通过wx.getSetting拿到用户的授权信息,没有授权弹出授权请求,用户可拒绝,若之前用户已经授权则不会弹出请求,直接返回success

wx.getSetting({success(res) {if (!res.authSetting['scope.userLocation']) {wx.authorize({scope: 'scope.userLocation',success() {// 用户已授权位置权限// 可以继续访问位置信息},fail() {// 用户拒绝了位置权限// 可以相应地处理拒绝情况console.log("用户拒绝了位置权限")},});} else {// 用户已经授权了位置权限// 可以继续访问位置信息console.log("用户已经授权了位置权限")}},});}

4,获取经纬度
通过wx.getLocation拿到用户的经纬度

wx.getLocation({type: 'wgs84',success: function(res) {console.log('用户已授权位置权限,经纬度:' + res.longitude, res.latitude);},fail: function() {console.log("获取地理位置失败")}})

二、逆地址解析

小程序wx.getLocation只能获取经纬度, 这时候想要具体地址就需要借助第三方API(逆地址解析) 我这边第三方以腾讯位置服务举例

1.申请API Key

现在先注册腾讯地图,获取key
https://lbs.qq.com/dev/console/key/manage
在这里插入图片描述

2.使用WEBService API

获取到api密钥之后就可以使用API了

wx.request({url: 'https://apis.map.qq.com/ws/geocoder/v1/',data: {location: `${latitude},${longitude}`,key: 'API_KEY',get_poi: 0,output: 'json'},success(res) {var address = res.data.result.address;},fail(error) {console.error('逆地理编码失败:', error);}});

该处使用的url网络请求的数据。接收参数经纬度
返回的res.data.result.address中就有解析出来的中文地址


来源地址:https://blog.csdn.net/m0_71621983/article/details/132210196

--结束END--

本文标题: 【小程序】微信小程序获取用户位置,经纬度及逆地址解析

本文链接: https://lsjlt.com/news/408621.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作