微信小程序JavaScript SDK

您所在的位置:网站首页 微信怎么调出城市服务 微信小程序JavaScript SDK

微信小程序JavaScript SDK

2024-07-14 16:29| 来源: 网络整理| 查看: 265

reverseGeocoder(options:Object)

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

        注:坐标系采用gcj02坐标系

options属性说明

属性 类型 必填 说明 location StringIObject 否 位置坐标,①String格式:lat,lng(例:location: ‘39.984060,116.307520’)②Object格式:{  latitude: 纬度,  longitude: 经度}(例:location: {  latitude: 39.984060,  longitude: 116.307520})默认是当前位置 coord_type Number 否 输入的locations的坐标类型,可选值为[1,6]之间的整数,每个数字代表的类型说明:1 GPS坐标2 sogou经纬度3 baidu经纬度4 mapbar经纬度5 [默认]腾讯、google、高德坐标6 sogou墨卡托 get_poi Number 否 是否返回周边POI列表:1.返回;0不返回(默认) poi_options String 否 用于控制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大用户的用户点击自动优化。 sig String 否 签名校验开启WebServiceAPI签名校验的必传参数,只需要传入生成的SK字符串即可,不需要进行MD5加密操作该参数适用于 jssdkv1.2

调用结果

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

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

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

名称 类型 必填 说明 status number 是 状态码,0为正常,310请求参数信息有误,311Key格式错误,306请求有护持信息请检查字符串,110请求来源未被授权 message string 是 状态说明,即对状态码status进行说明,如:status为0,message为"query ok",为正常,status为310,message为"请求参数信息有误",status为311,message为"key格式错误",status为306,message为"请求有护持信息请检查字符串",status为110,message为"请求来源未被授权" result object 是 逆地址解析结果 address string 是 地址描述 formatted_addresses object 位置描述 recommend string 经过腾讯地图优化过的描述方式,更具人性化特点 rough string 大致位置,可用于对位置的粗略描述 address_component object 是 地址部件,address不满足需求时可自行拼接 nation string 是 国家 province string 是 省 city string 是 市 district string 区,可能为空字串 street string 街道,可能为空字串 street_number string 门牌,可能为空字串 ad_info object 是 adcode string 是 行政区划代码 name string 是 行政区划名称 location object 是 行政区划中心点坐标 lat number 是 纬度 lng number 是 经度 nation string 是 国家 province string 是 省 / 直辖市 city string 是 市 / 地级区 及同级行政区划 district string 区 / 县级市 及同级行政区划 address_reference object 坐标相对位置参考 famous_area object 知名区域,如商圈或人们普遍认为有较高知名度的区域 title string 名称/标题 location object 坐标 lat number 纬度 lng number 经度 _distance number 此参考位置到输入坐标的直线距离 _dir_desc string 此参考位置到输入坐标的方位关系,如:北、南、内 town object 乡镇街道 title string 名称/标题 location object 坐标 lat number 纬度 lng number 经度 _distance number 此参考位置到输入坐标的直线距离 _dir_desc string 此参考位置到输入坐标的方位关系,如:北、南、内 landmark_l1 object 一级地标,可识别性较强、规模较大的地点、小区等【注】对象结构同 famous_area landmark_l2 object 二级地标,较一级地标更为精确,规模更小【注】:对象结构同 famous_area street object 街道 【注】:对象结构同 famous_area street_number object 门牌 【注】:对象结构同 famous_area crossroad object 交叉路口 【注】:对象结构同 famous_area water object 水系 【注】:对象结构同 famous_area pois array POI数组,对象中每个子项为一个POI对象,返回的POI数量及页数可通过请求参数poi_options设置 id string POI唯一标识 title string poi名称 address string 地址 category string POI分类 location object 提示所述位置坐标 id string POI唯一标识 lat number 纬度 lng number 经度 _distance number 该POI到逆地址解析传入的坐标的直线距离

示例

WXML 模板文件中添加组件:

逆地址解析 当前位置为:{{markers[0].title}}

Javascript 关键代码片段:

// 引入SDK核心类 var QQMapWX = require('xxx/qqmap-wx.js'); // 实例化API核心类 var qqmapsdk = new QQMapWX({ key: '开发密钥(key)' // 必填 }); //在Page({})中使用下列代码 //触发表单提交事件,调用接口 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 < result.pois.length; i++) { mks.push({ // 获取返回结果,放到mks数组中 title: result.pois[i].title, id: result.pois[i].id, latitude: result.pois[i].location.lat, longitude: result.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, poi: { latitude: res.location.lat, longitude: res.location.lng } }); }, fail: function(error) { console.error(error); }, complete: function(res) { console.log(res); } }) } 接口调用说明

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

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3