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

腾讯位置商业授权微信小程序逆地址解析(坐标位置描述)

微信小程序JavaScript SDK

开发指南

逆地址解析(坐标位置描述)

reverseGeocoder(options:Object)

        本接口提供由坐标到坐标所在位置的文字描述的转换,输入坐标返回地理位置信息和附近poi列表。

        注:坐标系采用gcj02坐标系

腾讯位置商业授权微信小程序逆地址解析(坐标位置描述)

options属性说明

属性类型必填说明
locationStringIObject位置坐标,
①String格式:lat<纬度>,lng<经度>(例:location: ‘39.984060,116.307520’)
②Object格式:
{
  latitude: 纬度,
  longitude: 经度
}
(例:location: {
  latitude: 39.984060,
  longitude: 116.307520
})
默认是当前位置
coord_typeNumber输入的locations的坐标类型,可选值为[1,6]之间的整数,每个数字代表的类型说明:
1 GPS坐标
2 sogou经纬度
3 baidu经纬度
4 mapbar经纬度
5 [默认]腾讯、google、高德坐标
6 sogou墨卡托
get_poiNumber是否返回周边POI列表:
1.返回;0不返回(默认)
poi_optionsString用于控制Poi列表:
1 poi_options=address_format=short
返回短地址,缺省时返回长地址
2 poi_options=radius=5000
半径,取值范围 1-5000(米)
3 poi_options=policy=1/2/3
控制返回场景,
policy=1[默认] 以地标+主要的路+近距离poi为主,着力描述当前位置;
policy=2 到家场景:筛选合适收货的poi,并会细化收货地址,精确到楼栋;
policy=3 出行场景:过滤掉车辆不易到达的POI(如一些景区内POI),增加道路出路口、交叉口、大区域出入口类POI,排序会根据真实API大用户的用户点击自动优化。
多个参数之间用分号分隔,示例:
poi_options: “address_format=short;radius=300;policy=1”
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为"请求来源未被授权"
resultobject逆地址解析结果
addressstring地址描述
formatted_addressesobject位置描述
recommendstring经过腾讯地图优化过的描述方式,更具人性化特点
roughstring大致位置,可用于对位置的粗略描述
address_componentobject地址部件,address不满足需求时可自行拼接
nationstring国家
provincestring
citystring
districtstring区,可能为空字串
streetstring街道,可能为空字串
street_numberstring门牌,可能为空字串
ad_infoobject
adcodestring行政区划代码
namestring行政区划名称
locationobject行政区划中心点坐标
latnumber纬度
lngnumber经度
nationstring国家
provincestring省 / 直辖市
citystring市 / 地级区 及同级行政区划
districtstring区 / 县级市 及同级行政区划
address_referenceobject坐标相对位置参考
famous_areaobject知名区域,如商圈或人们普遍认为有较高知名度的区域
titlestring名称/标题
locationobject坐标
latnumber纬度
lngnumber经度
_distancenumber此参考位置到输入坐标的直线距离
_dir_descstring此参考位置到输入坐标的方位关系,如:北、南、内
townobject乡镇街道
titlestring名称/标题
locationobject坐标
latnumber纬度
lngnumber经度
_distancenumber此参考位置到输入坐标的直线距离
_dir_descstring此参考位置到输入坐标的方位关系,如:北、南、内
landmark_l1object一级地标,可识别性较强、规模较大的地点、小区等
【注】对象结构同 famous_area
landmark_l2object二级地标,较一级地标更为精确,规模更小
【注】:对象结构同 famous_area
streetobject街道 【注】:对象结构同 famous_area
street_numberobject门牌 【注】:对象结构同 famous_area
crossroadobject交叉路口 【注】:对象结构同 famous_area
waterobject水系 【注】:对象结构同 famous_area
poisarrayPOI数组,对象中每个子项为一个POI对象,返回的POI数量及页数可通过请求参数poi_options设置
idstringPOI唯一标识
titlestringpoi名称
addressstring地址
categorystringPOI分类
locationobject提示所述位置坐标
idstringPOI唯一标识
latnumber纬度
lngnumber经度
_distancenumber该POI到逆地址解析传入的坐标的直线距离

示例

WXML 模板文件中添加组件:

<!--地图容器-->
<!--longitude及latitude为设置为调转到指定坐标位置,默认不显示-->
<map id="myMap"markers="{{markers}}"style="width:100%;height:300px;"longitude="{{longitude}}"latitude="{{latitude}}" scale='16' show-location>
</map>
<!--form表单-->
<form bindsubmit="formSubmit"><!--地址输入框,例:39.984060,116.307520--><input style="border:1px solid #000;" name="reverseGeo"></input><!--提交表单按钮--><button form-type="submit">逆地址解析</button>
</form>
<view>当前位置为:{{address}}</view>

Javascript 关键代码片段:

// 引入SDK核心类
var QQMapWX = require('xxx/qqmap-wx.js');// 实例化API核心类
var qqmapsdk = new QQMapWX({key: '开发密钥(key)' // 必填
});  Page({data: {markers:[], // 声明markers,存储marker数据// 地图展示位置latitude: 39.984060,longitude: 116.307520,address: ""},// 触发表单提交事件,调用接口formSubmit(e) {var _this = this;qqmapsdk.reverseGeocoder({//位置坐标,默认获取当前位置,非必须参数/*** //Object格式location: {latitude: 39.984060,longitude: 116.307520},*//***//String格式location: '39.984060,116.307520',*/location: e.detail.value.reverseGeo || '', //获取表单传入的位置坐标,不填默认当前位置,示例为string格式//get_poi: 1, //是否返回周边POI列表:1.返回;0不返回(默认),非必须参数success: function(res) {//成功后的回调console.log(res);var res = res.result;var mks = [];/***  当get_poi为1时,检索当前位置或者location周边poi数据并在地图显示,可根据需求是否使用*for (var i = 0; i < res.pois.length; i++) {mks.push({ // 获取返回结果,放到mks数组中title: res.pois[i].title,id: res.pois[i].id,latitude: res.pois[i].location.lat,longitude: res.pois[i].location.lng,iconPath: './resources/placeholder.png', //图标路径width: 20,height: 20})}***///当get_poi为0时或者为不填默认值时,检索目标位置,按需使用mks.push({ // 获取返回结果,放到mks数组中title: res.address,id: 0,latitude: res.location.lat,longitude: res.location.lng,iconPath: './resources/placeholder.png',//图标路径width: 20,height: 20,callout: { //在markers上展示地址名称,根据需求是否需要content: res.address,color: '#000',display: 'ALWAYS'}});_this.setData({ //设置markers属性和地图位置poi,将结果在地图展示markers: mks,// 修改地图展示位置latitude: res.location.lat,longitude: res.location.lng,// 当前地址address: res.address});},fail: function(error) {console.error(error);},complete: function(res) {console.log(res);}})}
})

接口调用说明

reverseGeocoder(options:Object)方法调用接口服务如下:
/ws/geocoder/v1 逆地址解析(位置描述)

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

资料来源:

腾讯位置商业授权微信小程序逆地址解析(坐标位置描述)-腾讯地图代理商

http://www.xdnf.cn/news/1304119.html

相关文章:

  • day29-进程和线程(2)
  • C语言:指针(5)
  • lcm通信库介绍与使用指南
  • 使用Docker容器化Python测试Pytest项目并配置GitHub Actions CI/CD流程
  • Pytest项目_day16(yaml和parametrize结合)
  • week1-[循环嵌套]蛇
  • Vue2与Vue3生命周期函数全面解析:从入门到精通
  • Linux操作系统--多线程(锁、线程同步)
  • 基本电子元件:贴片电阻器的种类
  • 达梦数据库使用控制台disql执行脚本
  • Mac(二)Homebrew 的安装和使用
  • HDFS数据倾斜导致MapReduce作业失败的排查与优化实践
  • 一个集成多源威胁情报的聚合平台,提供实时威胁情报查询和播报服务、主动拦截威胁IP,集成AI等多项常用安全类工具
  • mac 通过homebrew 安装和使用nvm
  • 16进制pcm数据转py波形脚本
  • 超越模型中心:AI智能体(Agent)革命来临,AgenticOps将如何颠覆你的工作流?
  • Java-JVM是什么JVM的类加载机制
  • PAT 1064 Complete Binary Search Tree
  • 计算机网络:(十五)TCP拥塞控制与TCP拥塞控制算法
  • 【161页PPT】智慧方案企业数字化转型概述(课件)(附下载方式)
  • AutoSar AP平台功能组并行运行原理
  • [论文阅读] 人工智能 | 当Hugging Face遇上GitHub:预训练语言模型的跨平台同步难题与解决方案
  • JVM执行引擎深入理解
  • 剧本杀小程序系统开发:重构推理娱乐生态
  • 大模型幻觉涉及的违约责任探讨
  • 回路自感和回路互感
  • 补充日志之-配置文件解析指南(Centos7)
  • 德州扑克游戏术语
  • 银河麒麟服务器jar包部署自启动配置
  • 第十八讲:哈希2