【微信小程序】腾讯位置服务地图选点 服务示例

本文指导如何在微信小程序中添加腾讯位置服务地图选点插件,包括申请、配置、引入及使用步骤,展示了关键代码片段和效果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插件添加

1、插件申请接入:
在腾讯公众平台中, “微信小程序官方后台-设置-第三方服务-插件管理” 里点击 “添加插件”,搜索 “腾讯位置服务地图选点” 申请添加,通过则可在小程序内使用该插件。

2、引入插件包:
地图选点appId: wx76a9a06e5b4e693e

// app.json
{
	// 引入插件包:
  "plugins": {
    "chooseLocation": {
      "version": "1.0.9",
      "provider": "wx76a9a06e5b4e693e"
    }
  },
  // 提供定位授权
   "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序定位"
    }
  }
}
小程序腾讯位置key获取:
  • 登录腾讯位置服务控制台,添加应用
    在这里插入图片描述
  • 为创建的应用添加key,
    在这里插入图片描述
  • 生成key
    在这里插入图片描述
小程序使用
const chooseLocation = requirePlugin('chooseLocation');

Page({
	 /**
     * 页面的初始数据
     */
    data: {
        latitude: '',
        longitude: '',
        address:'',
    },
     /**
     * 生命周期函数--监听页面显示
     */
    onShow: function (options) {
           const location = chooseLocation.getLocation(); // 如果选点后 点击确认选点按钮,则返回选点结果对象,否则返回null
        if(location != null){
            console.log('onshow',location)
            this.setData({
                address: location.name,
                latitude: location.latitude,
                longitude: location.longitude
            })
        }
    },
    // 按地图选取地址
    getMapAddr:function(){
        const that = this;
        // 使用腾讯地图插件
        const key = '********************************************'; //使用在腾讯位置服务申请的key
        const referer = 'XXXXX'; //调用插件的app的名称
        const location = JSON.stringify({
           latitude: 39.89631551,
           longitude: 116.323459711
        });
        const category = '生活服务,娱乐休闲';
        wx.navigateTo({
            url: 'plugin://chooseLocation/index?key=' + key + '&referer=' + referer + '&location=' + location + '&category=' + category
        });
     
    },
	/**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {
        chooseLocation.setLocation(null);
    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
        // 页面卸载时设置插件选点数据为null,防止再次进入页面,geLocation返回的是上次选点结果
        chooseLocation.setLocation(null);
    },

})

效果:
在这里插入图片描述

<think>好的,我现在需要回答用户关于如何在微信小程序中集成腾讯地图选点插件的问题。根据用户提供的引用内容,我需要整理出一个步骤清晰的教程。首先,用户提到了引用1中的微信小程序接入腾讯地图的流程,引用2和3是关于uniapp中使用插件的步骤,但用户现在的问题主要是在微信小程序中,所以可能需要重点参考引用2和引用1。 首先,我应该确定用户是否使用uniapp还是原生微信小程序开发。根据用户的问题,直接提到的是微信小程序,所以可能以原生开发为主。不过引用2和3提到uniapp,可能需要分情况说明。但用户的问题没有提到uniapp,可能只需要原生方法。不过用户的问题可能希望得到两种情况的答案,但需要确认。不过根据用户提供的引用,引用2和3是关于uniapp的,但用户现在的问题可能更关注原生微信小程序。需要仔细分析。 接下来,根据引用2,添加插件需要在微信小程序后台的插件管理中搜索“腾讯位置服务地图选点”并申请。然后在小程序的app.json中声明插件。然后在页面中使用组件,配置相关属性,处理回调事件。引用1也提到了类似步骤,包括SDK的接入,可能涉及API密钥的申请。 可能需要将步骤分解为:1.申请插件;2.配置小程序;3.引入插件;4.页面中使用组件;5.处理回调;6.可能需要的API配置,如密钥。同时需要注意坐标系的转换,如引用1提到的gcj02和wgs84的区别,需要处理。 是否需要分原生和uniapp两种情况?用户的问题没有明确,但引用的资料中有uniapp的内容,所以可能需要简要说明两种情况。不过用户的问题更可能是在原生微信小程序中集成,所以主要讲解原生方法,然后补充uniapp的方法。 需要检查引用中的步骤是否完整。例如,引用2提到了在pages.json中配置,但pages.json是uniapp的配置文件,原生微信小程序使用app.json。因此,在原生情况下,应该在app.json的plugins字段中声明插件。然后,在页面配置中使用插件组件。 此外,引用3提到搜索不到某些插件,可能需要特定的名称或正确的插件ID。所以需要确认插件的准确名称和ID,比如“腾讯位置服务地图选点”和对应的provider。 另外,需要提到插件的使用权限,例如在app.json中配置permission,或者在使用的位置页面中获取用户授权,尤其是地理位置权限。引用1中提到了授权当前位置,可能需要在代码中处理授权请求。 还需要注意插件的版本,是否需要指定版本号,以及插件的文档链接,方便用户查阅更多参数和事件。 最后,可能需要提供一个简单的代码示例,比如在wxml中使用组件,配置key,绑定事件,然后在js中处理选点结果,包括地址解析和坐标转换。 总结步骤: 1. 在小程序后台申请插件。 2. 在app.json中配置插件。 3. 在页面json文件中引入组件。 4. 在wxml中添加组件标签,配置必要的属性如key、bind回调。 5. 在js中处理选点成功和失败的回调,可能需要进行坐标转换和逆地址解析。 6. 配置腾讯地图的API密钥,确保服务可用。 7. 处理用户授权地理位置权限的问题。 同时,需要提醒用户注意插件的使用限制,如是否需要付费,调用频率限制等。此外,引用中提到坐标系的转化,可能需要将返回的坐标转换为小程序使用的坐标系,例如gcj02。 现在,需要将这些步骤整理成一个清晰的回答,分点说明,确保用户能够逐步操作。同时,根据引用内容添加正确的引用标识,如[^1][^2][^3]。</think>### 如何在微信小程序中集成腾讯地图选点插件 #### **步骤说明** 1. **申请插件权限** - 登录[微信小程序后台](https://mp.weixin.qq.com/),进入「设置」-「第三方服务」-「插件管理」,搜索“腾讯位置服务地图选点”插件,点击「添加」申请使用[^2]。 2. **配置小程序项目** - 在 `app.json` 中声明插件: ```json { "plugins": { "chooseLocation": { "version": "1.0.10", // 以最新版本为准 "provider": "wx76a9a06e5b4e693e" } } } ``` 3. **在页面中引入插件组件** - 在页面(如 `pages/location/index.json`)的配置文件中添加组件: ```json { "usingComponents": { "location-component": "plugin://chooseLocation/location-component" } } ``` 4. **页面布局与事件绑定** - 在 `wxml` 文件中添加组件标签,绑定回调事件: ```html <location-component key="腾讯地图API密钥" // 需在腾讯位置服务官网申请 bind:locationSuccess="onLocationSuccess" bind:locationFail="onLocationFail" ></location-component> ``` 5. **处理选点结果** - 在 `js` 文件中定义回调函数: ```javascript Page({ onLocationSuccess(res) { const { latitude, longitude, address } = res.detail; // 坐标系转换(若需从gcj02转wgs84) console.log(&#39;选点结果:&#39;, { latitude, longitude, address }); }, onLocationFail(err) { console.error(&#39;选点失败:&#39;, err); } }); ``` 6. **申请API密钥** - 前往[腾讯位置服务官网](https://lbs.qq.com/),注册账号并创建应用,获取 `key`。 7. **处理用户授权** - 在 `app.json` 中添加权限声明: ```json { "permission": { "scope.userLocation": { "desc": "需要获取您的位置以提供选点服务" } } } ``` #### **注意事项** - **uniapp项目适配** 若使用uniapp开发,需在 `pages.json` 中配置插件路径(参考引用)。 - **坐标系问题** 插件返回的坐标为 `gcj02`,若需与微信原生API(使用 `wgs84`)兼容,需调用转换接口。 - **插件文档** 详细参数请查阅[腾讯位置服务插件文档](https://lbs.qq.com/miniProgram/plugin/)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值