申请key
开发工具->接口设置(开发能力)->找到腾讯位置服务点开通
进入后会默认登录小程序管理账号,点右上角控制台进入:
- 认证企业开发者(个人开发者跳过)
- 创建应用
- 添加key
开发中会用到创建的key
接入方法
接入文档
-
小程序插件:https://lbs.qq.com/miniProgram/plugin/pluginGuide/pluginOverview
-
付费服务:https://lbs.qq.com/service/webService/webServiceGuide/webServiceOverview
开通小程序地理位置接口
一般使用腾讯位置服务都需要首先开通小程序基础的地理位置接口,才能获取经纬度等位置信息,可以根据需要在小程序后台开通相应的服务:
注意:
- 现在审核比较严格,需要有实际的使用场景,和特定小程序类目认证才能申请成功,参考申请成功案例参考
- 代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截
- 需要在 app.json 中requiredPrivateInfos进行声明使用的接口,否则将无法正常使用该接口
接入地图选点(小程序插件)
- 文档:https://lbs.qq.com/miniProgram/plugin/pluginGuide/locationPicker
- app.js 中引入插件, 并声明定位授权:
"plugins": {
"chooseLocation": {
"version": "1.0.12",
"provider": "wx76a9a06e5b4e693e"
}
},
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序定位"
}
}
- 使用插件
/**
* 地图选点插件
* @param {*} latitude 经纬度信息
* @returns promise
*/
chooseLocation (location) {
const pluginParams = {
key: lbsPluginKey, // 使用在腾讯位置服务申请的key
referer: '唯品折扣店',
category: ''
}
if (location) {
pluginParams.location = JSON.stringify({
latitude: location.latitude,
longitude: location.longitude
})
}
console.log('地图选点插件参数', pluginParams)
wx.navigateTo({
url: assemble('plugin://chooseLocation/index', pluginParams, false)
})
}
- 页面使用插件回调
const chooseLocation = requirePlugin('chooseLocation');
Page({
// 从地图选点插件返回后,在页面的onShow生命周期函数中能够调用插件接口,取得选点结果对象
onShow () {
const location = chooseLocation.getLocation(); // 如果点击确认选点按钮,则返回选点结果对象,否则返回null
},
onUnload () {
// 页面卸载时设置插件选点数据为null,防止再次进入页面,geLocation返回的是上次选点结果
chooseLocation.setLocation(null);
}
})
接入逆地址解析(付费服务)
/**
* 逆地址解析: 经纬度转成详细地址
* @param {*} latitude 经纬度信息
* @returns promise
*/
getGeocoder (location) {
return new Promise((resolve, reject) => {
const { latitude = '', longitude = '' } = location || {}
const locationString = `${latitude},${longitude}`
console.log(`${latitude},${longitude}` )
wx.request({
url: 'https://apis.map.qq.com/ws/geocoder/v1',
data: {
'get_poi': 1,
'key': lbsApiKey, // 使用在腾讯位置服务申请的key
'location': locationString
},
method: 'GET',
success (res) {
if(res){
const { data = {} } = res || {}
const { result = {} } = data
const params = {
longitude,
latitude,
address: result.address
}
if(longitude && latitude){
resolve(params)
}else{
reject(res)
}
}else{
reject(res)
}
},
fail (error) {
reject(error)
}
})
})
}
调用量查询
可以查询每个接口的调用量,看是否超过配额
升级配额
如果默认的免费配额用尽,可以先点击右侧免费申请按钮,尝试申请升级免费配额
说明:
- 企业开发者的初始额度,默认与个人开发者相同。
- 申请企业认证后,您的账户配额会默认提升,您可以在控制台->配额管理->账户额度中进行额度分配
- 如您有试用产品需求,可在控制台->工单中提交申请,相关商务人员会在3个工作日内,与您取得联系,沟通试用方案
- 若配额度仍不够用,或试用到期希望继续使用,可在控制台->配额管理中根据自己的业务需求购买调用量和并发量。
- 如您计划以商业目的使用以下服务,请先获得腾讯位置服务商业授权。
- 特别提醒:额度上限是一个账号下全部key共同分配的,请合理申请额度。
查询免费配额上限详见:
https://lbs.qq.com/service/webService/webServiceGuide/webServiceQuota
也是奇怪的很 我这小程序之前开通的腾讯位置服务 这两天后台突然显示没开通 但却还是可以调API