评论

小程序接入腾讯位置服务

本文描述了小程序接入腾讯位置服务的方法,详细介绍了申请key、接入方法、调用量查询、升级配额的实践过程。

申请key

https://mp.weixin.qq.com/登录

开发工具->接口设置(开发能力)->找到腾讯位置服务点开通

进入后会默认登录小程序管理账号,点右上角控制台进入:

  • 认证企业开发者(个人开发者跳过)
  • 创建应用

  • 添加key

开发中会用到创建的key

接入方法

接入文档

开通小程序地理位置接口

一般使用腾讯位置服务都需要首先开通小程序基础的地理位置接口,才能获取经纬度等位置信息,可以根据需要在小程序后台开通相应的服务:

注意:

  1. 现在审核比较严格,需要有实际的使用场景,和特定小程序类目认证才能申请成功,参考申请成功案例参考
  2. 代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截
  3. 需要在 app.json 中requiredPrivateInfos进行声明使用的接口,否则将无法正常使用该接口

接入地图选点(小程序插件)

"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)
        }
      })
    })
  }

调用量查询

可以查询每个接口的调用量,看是否超过配额

升级配额

如果默认的免费配额用尽,可以先点击右侧免费申请按钮,尝试申请升级免费配额

说明:

  1. 企业开发者的初始额度,默认与个人开发者相同。
  2. 申请企业认证后,您的账户配额会默认提升,您可以在控制台->配额管理->账户额度中进行额度分配
  3. 如您有试用产品需求,可在控制台->工单中提交申请,相关商务人员会在3个工作日内,与您取得联系,沟通试用方案
  4. 若配额度仍不够用,或试用到期希望继续使用,可在控制台->配额管理中根据自己的业务需求购买调用量和并发量。
  5. 如您计划以商业目的使用以下服务,请先获得腾讯位置服务商业授权
  6. 特别提醒:额度上限是一个账号下全部key共同分配的,请合理申请额度。

查询免费配额上限详见:
https://lbs.qq.com/service/webService/webServiceGuide/webServiceQuota

最后一次编辑于  05-24  
点赞 0
收藏
评论

1 个评论

  • lewiis.top
    lewiis.top
    08-15

    也是奇怪的很 我这小程序之前开通的腾讯位置服务 这两天后台突然显示没开通 但却还是可以调API

    08-15
    赞同
    回复
登录 后发表内容