当前位置: 首页 > news >正文

腾讯位置商业授权微信小程序关键词输入提示

微信小程序JavaScript SDK

开发指南

关键词输入提示

getSuggestion(options:Object)

        用于获取输入关键字的补完与提示,帮助用户快速输入

        注:坐标系采用gcj02坐标系

options属性说明

属性类型必填说明
keywordString用户输入的关键词(希望获取后续提示的关键词)
regionString设置城市名,限制关键词所示的地域范围,如,仅获取“广州市”范围内的提示内容,默认值全国
region_fixNumber取值: 0:[默认]当前城市无结果时,自动扩大范围到全国匹配 1:固定在当前城市
policyNumber检索策略,目前支持:
policy=0:默认,常规策略
policy=1:本策略主要用于收货地址、上门服务地址的填写,
提高了小区类、商务楼宇、大学等分类的排序,过滤行政区、
道路等分类(如海淀大街、朝阳区等),排序策略引入真实用户对输入提示的点击热度,
使之更为符合此类应用场景,体验更为舒适
locationString定位坐标,传入后,若用户搜索关键词为类别词(如酒店、餐馆时),与此坐标距离近的地点将靠前显示,格式: location=lat,lng (示例:location:39.11457,116.55332)
get_subpoisNumber是否返回子地点,如大厦停车场、出入口等取值:
0 [默认]不返回
1 返回
该参数适用于 jssdkv1.1 jssdkv1.2
filterString最多支持五个分类
搜索指定分类
category=公交站
搜索多个分类
category=大学,中学
(注意参数值要进行url编码)
该参数适用于 jssdkv1.1 jssdkv1.2
address_formatString短地址,缺省时返回长地址,可选值:'short’
该参数适用于 jssdkv1.1 jssdkv1.2
page_sizeNumber每页条目数,最大限制为20条,默认值10
该参数适用于 jssdkv1.1 jssdkv1.2
page_indexNumber第x页,默认第1页
该参数适用于 jssdkv1.1 jssdkv1.2
sigString签名校验
开启WebServiceAPI签名校验的必传参数,只需要传入生成的SK字符串即可,不需要进行MD5加密操作
该参数适用于 jssdkv1.2

调用结果

        通过属性success, fail, complete的回调参数来接收调用结果

        success的回调参数可以有2个,第1个参数接收调用结果,第2个参数控制返回处理后的数据(非必须参数),示例:success:function(res,data)

        该属性适用于 jssdkv1.1 jssdkv1.2

名称类型必填说明
statusnumber状态码,0为正常,
310请求参数信息有误,
311Key格式错误,
306请求有护持信息请检查字符串,
110请求来源未被授权
messagestring状态说明,即对状态码status进行说明,
如:
status为0,message为"query ok",为正常,
status为310,message为"请求参数信息有误",
status为311,message为"key格式错误",
status为306,message为"请求有护持信息请检查字符串",
status为110,message为"请求来源未被授权"
countnumber本次搜索结果总数
dataarray搜索结果POI数组,每项为一个POI对象
idstringPOI唯一标识
titlestringPOI名称
addressstring地址
provincestring
typenumberPOI类型,值说明:0:普通POI / 1:公交车站 / 2:地铁站 / 3:公交线路 / 4:行政区划
citystring
adcodestring行政区划代码
typenumberPOI类型,值说明:0:普通POI / 1:公交车站 / 2:地铁站 / 3:公交线路 / 4:行政区划
locationobject坐标
latnumber纬度
lngnumber经度

示例

WXML 模板文件中添加组件:

<!--绑定输入事件-->
<input style="border:1px solid black;" bindinput="getsuggest" value="{{keyword}}"></input>
<!--关键词输入提示列表渲染-->
<view wx:if="{{showSuggestion}}"><view wx:for="{{suggestion}}" wx:key="index"><!--绑定回填事件--><view bindtap="onSelect"><!--根据需求渲染相应数据--><!--渲染地址title--><view style="text-align:center;" bindtap="backfill" id="{{index}}">{{item.title}}</view><!--渲染详细地址--><view style="font-size:12px;color:#666;text-align:center;">{{item.addr}}</view></view></view>
</view>

Javascript 关键代码片段:

// 引入SDK核心类
var QQMapWX = require('xxx/qqmap-wx.js');// 实例化API核心类
var qqmapsdk = new QQMapWX({key: '开发密钥(key)' // 必填
});//在Page({})中使用下列代码
Page({data: {keyword: '',showSuggestion: false,suggestion:[] // 声明suggestion,用于存储提示结果},//数据回填方法backfill: function (e) {var id = e.currentTarget.id;for (var i = 0; i < this.data.suggestion.length;i++){if(i == id){this.setData({keyword: this.data.suggestion[i].title});}  }},onSelect: function () {this.setData({showSuggestion: false,})},//触发关键词输入提示事件getsuggest: function(e) {var _this = this;//调用关键词提示接口qqmapsdk.getSuggestion({//获取输入框值并设置keyword参数keyword: e.detail.value, //用户输入的关键词,可设置固定值,如keyword:'KFC'//region:'北京', //设置城市名,限制关键词所示的地域范围,非必填参数success: function(res) {//搜索成功后的回调console.log(res);var sug = [];for (var i = 0; i < res.data.length; i++) {sug.push({ // 获取返回结果,放到sug数组中title: res.data[i].title,id: res.data[i].id,addr: res.data[i].address,city: res.data[i].city,district: res.data[i].district,latitude: res.data[i].location.lat,longitude: res.data[i].location.lng});}_this.setData({ //设置suggestion属性,将关键词搜索结果以列表形式展示suggestion: sug,showSuggestion: true,});},fail: function(error) {console.error(error);},complete: function(res) {console.log(res);}});}
})

接口调用说明

getSuggestion(options:Object)方法调用接口服务如下:
/ws/place/v1/suggestion 关键词输入提示

注:微信小程序JavaScript SDK通过对腾讯位置服务WebServiceAPI接口进行封装而形成,因此和直接调用WebSerivceAPI的限制是等同的,
具体可参考:腾讯位置服务WebServiceAPI配额及使用限制

资料来源:

腾讯位置商业授权微信小程序关键词输入提示-腾讯地图代理商

http://www.lryc.cn/news/619282.html

相关文章:

  • Flink DataStream 按分钟或日期统计数据量
  • 深度学习——03 神经网络(3)-网络优化方法
  • 基于Apache Flink的实时数据处理架构设计与高可用性实战经验分享
  • 搜索引擎核心机制解析
  • 美团搜索推荐统一Agent之性能优化与系统集成
  • 云计算-OpenStack 实战运维:从组件配置到故障排查(含 RAID、模板、存储管理,网络、存储、镜像、容器等)
  • Flink中的窗口
  • HTML5 Canvas实现数组时钟代码,适用于wordpress侧边栏显示
  • 方法论基础。
  • 设计秒杀系统从哪些方面考虑
  • 从零开始:用PyTorch实现线性回归模型
  • 比特币与区块链:去中心化的技术革命
  • VUE2连接USB打印机
  • Pytorch FSDP权重分片保存与合并
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day3
  • 【Qt开发】常用控件(三) -> geometry
  • 疏老师-python训练营-Day44预训练模型
  • php7 太空船运算符
  • Linux 软件编程:文件IO、目录IO、时间函数
  • 适配安卓15(对应的sdk是35)
  • RxJava 在 Android 中的深入解析:使用、原理与最佳实践
  • 大牌点餐接口api对接全流程
  • 《吃透 C++ 类和对象(中):构造函数与析构函数的核心逻辑》
  • Ubuntu22.04轻松安装Qt与OpenCV库
  • 药房智能盘库系统的Python编程分析与实现—基于计算机视觉与时间序列预测的智能库存管理方案
  • 基于大数据spark的医用消耗选品采集数据可视化分析系统【Hadoop、spark、python】
  • 分段锁和限流的间接实现
  • 通信中间件 Fast DDS(一) :编译、安装和测试
  • 机器学习—— TF-IDF文本特征提取评估权重 + Jieba 库进行分词(以《红楼梦》为例)
  • CMake进阶: 使用FetchContent方法基于gTest的C++单元测试