目录

记录uniapp微信小程序通过高德api获取当前详细的地理位置信息

记录:uniapp微信小程序通过高德api获取当前详细的地理位置信息

概述

由于当前业务需要在使用小程序的时候获取当前所在的详细地理位置信息,所以我们采用高德地图的api来获取当前位置的中文描述+区域编码。

使用

获取key

注:可打开 按照步骤获取key,或通过如下步骤获取

1、进入

2、没有账号进行注册|有账号直接登录

3、点击右上角 控制台 -> 应用管理 -> 我的应用 -> 创建应用

4、点击当前创建的应用下的添加按钮

https://i-blog.csdnimg.cn/blog_migrate/245dcadbf6d8eeeaa87a05ba347d6b7e.png

5、提交之后即可得到高德api的key

https://i-blog.csdnimg.cn/blog_migrate/442191e5c4303a51f6b624e592be2ec7.png

获取并使用高德微信小程序js依赖文件amap-wx.js

1、 :进入官网进行下载解压后即可得到

https://i-blog.csdnimg.cn/blog_migrate/09ffedf42ed927e6aa785262e4970ee7.png

2、将amap-wx.js放在你的项目静态工具文件夹中

3、在需要使用到api的页面引入,我们当前在uniapp中使用

import amap from '../../static/utils/amap-wx.130.js'

const amapObject = new amap.AMapWX({ key: 'your key' })
amapObject.getRegeo({
	success: (res) => {
	    console.log(res, res[0].regeocodeData.formatted_address)
	},
	fail: (err) => {
		console.log(err)
	}
})

注意1: 由于当前获取位置是在小程序内部,所以必须添加小程序所需的permission用于小程序获取用户地理位置授权。

原生微信小程序开发:在appjson中进行配置

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

uniapp开发:在manifest.json下 -> 微信小程序配置 -> 微信小程序权限配置 -> 位置接口 -> 描述:你的位置信息将用于小程序位置接口的效果展示

https://i-blog.csdnimg.cn/blog_migrate/7086801fee0cf357fad871c5ea868407.png

注意2: 若是报错https://restapi.amap.com未配置在request合法域名中,则是由于amap api调用了当前域名下接口但是微信公众平台上没有进行配置导致,将当前域名配置在微信小程序request合法域名即可。

路径:微信公众平台 -> 小程序 -> 开发管理 -> 开发设置 -> 服务器域名

https://i-blog.csdnimg.cn/blog_migrate/1609ae89d180e0694a533220d7329c05.png

运行程序得到输出

1、会首先获取地理位置信息授权

https://i-blog.csdnimg.cn/blog_migrate/f845c70614867527a7cffa33aaa4c40e.png

2、确定:在调用api之后,success callback输出结果

https://i-blog.csdnimg.cn/blog_migrate/9eab4af3611dd22d75a5376dfdbe1505.png

3、取消:在调用api之后,fail callback输出结果

https://i-blog.csdnimg.cn/blog_migrate/c7a168db2b4a92f394373a438ac533fa.png

备注

记录供后续翻阅