记一次taro开发小程序,利用腾讯地图SDK进行逆地址解析获取城市位置信息
- 一、 授权小程序获取用户地理位置
- 二、 使用腾讯地图API来解析地址
- 三、下载微信小程序JavaScriptSDK
- 四、 设置微信小程序安全域名
- 五、 获取微信定位的经纬度,通过逆地址解析获取当前城市位置信息
- API使用限制
一、 授权小程序获取用户地理位置
1. 打开到‘/src/app.config.js’文件。
2. 在文件的配置下加入以下代码。
export default defineAppConfig({
..............,
...........,
//加入以下的代码
"permission":{
"scope.userLocation":{
"desc": "获取地理位置信息的用途描述"
}
}
})
二、 使用腾讯地图API来解析地址
腾讯地图API网站直达: 腾讯地图API直达.
1. 进入WebService API | 腾讯位置服务平台进行登录。
2. 进入控制台 -->我的应用 -->创建应用
完善填写信息
4. 点击添加 key 填写完整信息后点击 `确定 `
(小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)
复制下面的 key 的值备用
三、下载微信小程序JavaScriptSDK
微信小程序JavaScriptSDK直达: 微信小程序JavaScriptSDK直达.
下载SDK,并将SDK加入到项目。
四、 设置微信小程序安全域名
安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名”
中设置request合法域名,添加 https://apis.map.qq.com
五、 获取微信定位的经纬度,通过逆地址解析获取当前城市位置信息
代码如下:
Taro.getLocation({//可通过该方法获取当前位置的经纬度
type: 'gcj02', //返回可以用于 Taro.openLocation的经纬度
success: function (res) {
const latitude = res.latitude
const longitude = res.longitude
var QQMapWX = require('../../common/lib/qqmap-wx-jssdk');//加载微信小程序JavaScriptSDK
var qqmapsdk = new QQMapWX({
key: 'XXXX-XXXX-XXX-XXXX-XXXXX-XXXX' // 必填 填写刚刚在腾讯地图API平台申请的开发者密钥
});
console.log('888', latitude, longitude);//测试 输出当前位置到的经纬度
qqmapsdk.reverseGeocoder({//逆地址解析 获取当前城市信息
location: {//经纬度
latitude: latitude,
longitude: longitude
},
success: function (res) {//请求成功回调函数
console.log('666f', res);//包含地址信息的返回值
},
fail:function(a){//请求失败回调函数
console.log(a)
}
})
}
})
API使用限制
为了保证我们的服务稳定,我们对每个key的每个服务接口的调用量做了如下限制:
日调用量:1万次 / Key
并发数:5次 / key / 秒 。
超过日调用量和并发数的开发者,可通过以下途径解决:
1.对于多频次的相同请求,可通过缓存结果,并定时访问更新的方式,减少对在线服务调用的依赖;
2.企业开发者的配额高于个人开发者,申请企业认证后,需要在 控制台->配额申请 中免费申请你需要的配额。
我们将对您的申请进行评估并进行审批(3个工作日内),审批通过后将会获得您申请的配额。
3.对于切实需要大配额来满足应用需求的,请在控制台->配额管理中提交购买配额申请,我们的商务会与您取得联系。