uni-app/微信小程序接入腾讯位置服务地图选点插件

发布于:2025-04-16 ⋅ 阅读:(16) ⋅ 点赞:(0)

0、常出现的错误及解决方法

0.1插件未授权使用(见步骤1)

0.2小程序类目不符合引用该类目插件的要求或主体类型不符合要求(见步骤1)

0.3需要在app.json中声明permission scope.userLocation 字段(见步骤3)

1、授权插件使用

腾讯位置服务的文档对该插件的接入指引中提到:

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

但实际操作过程中,在添加插件的搜索页中,直接搜索腾讯位置服务地图选点,并不能找到的对应的插件。

通过文档查看可以知道,该插件适用的类目为交通服务 > 导航地图

这时就算在腾讯位置服务的网页中添加该插件,会提示

添加失败,小程序类目不符合引用该类目插件的要求或主体类型不符合要求

在小程序后台首页点击添加类目时又发现,交通服务下没有导航地图的类目。

这时可以访问微信服务市场,搜索腾讯位置服务地图选点插件,选择接口与插件,就能找到对应的插件,或直接点击这里,登录相同的账号点击添加即可完成授权
在这里插入图片描述
添加插件完成后,在微信小程序官方后台-设置-第三方服务-插件管理中即可看到对应的插件
在这里插入图片描述
点击详情,可以查看该插件的相关信息及接入文档

2、地图key生成

腾讯位置服务地图选点插件接入文档中提到需要一个地图key,首先登录腾讯位置服务控制台,点击左侧应用管理,创建应用,再添加key。
在这里插入图片描述

在这里插入图片描述
创建完key之后,要记得对key 做配额管理,不然在应用中,会提示该接口日访问量已用完
特别是周边推荐的接口额度
在这里插入图片描述

3、代码接入

在manifest.json中,微信小程序配置中填写appid 勾选位置接口(若不勾选 最后会提示需要在app.json中声明permission scope.userLocation 字段
在这里插入图片描述
在page.json中插入组件

"plugins": {
	"chooseLocation": {
		"version": "1.1.1",
	    "provider": "wx76a9a06e5b4e693e"
	}
}

template

<template>
	<view>
		<button @click="open">打开地图选点</button>
		<view v-if="info">
			<text>地址:{{info.address}}</text>
			<text>坐标:{{info.latitude}}, {{info.longitude}}</text>
		</view>
	</view>
</template>

js

const chooseLocation = requirePlugin('chooseLocation');
export default {
	data() {
		return {
			info: null
		}
	}onShow() {
		// 如果点击确认选点按钮,则返回选点结果对象,否则返回null
		const location = chooseLocation.getLocation(); 
		this.info = location
	},
	open() {
		const key = '11111'; //使用在腾讯位置服务申请的key
		const referer = '1'; //调用插件的app的名称
		const location = JSON.stringify({
			latitude: 39.89631551,
			longitude: 116.323459711,
		});
		const category = '生活服务,娱乐休闲';
		//其他需要的参数,可以查看文档
		uni.navigateTo({
			url: `plugin://chooseLocation/index?key=${key}&referer=${referer}&location=${location}&category=${category}`,
		});
		
	}
}