# 地图 API
# 功能介绍
不管高德还是腾讯地图,都有众多服务端 API,比如逆地址解析。uni-map-common 对这些 API 进行了统一封装,抹平了差异。
开发者只需安装 uni-map-common,就可以更简单的使用地图的云接口。并且方便在不同地图厂商之间切换。
# 支持的平台
- 腾讯地图
- 高德地图
# 安装依赖
- 前往插件市场,导入地图公共模块uni-map-common (opens new window) 官方文档地址 (opens new window)
- 右键 router 云函数,管理公共模块或扩展库依赖,添加
uni-map-common公共模块依赖

# 公共返回参数
以下所有 API 均会返回的参数
| 参数 | 说明 |
|---|---|
| errCode | 为 0 代表成功,其他均为失败(注意,这里是 errCode,不是 code) |
| errMsg | 失败后的提示(注意,这里是 errMsg,不是 msg) |
| provider | 当前数据是哪家地图供应商返回的 |
| result | 插件返回结果(抹平各平台差异后的返回结果) |
| originalResult | 原始返回结果(供应商接口原始返回结果,需 new UniMap 时,设置 needOriginalResult: true) |
# 初始化实例
在调用 API 前,需要先初始化实例
在 router 内
需要 vk-unicloud 核心库版本 >= 2.15.2
// 初始化实例
const uniMap = new vk.uniMap({
provider: 'qqmap', // 指定使用哪家地图供应商
key: 'xxxxxx',
needOriginalResult: false, // 是否需要返回原始信息
});
2
3
4
5
6
非 router 内
跟 vk-unicloud 核心库版本无关
// 引入uni-map-common公共模块
const UniMap = require('uni-map-common');
// 初始化实例
const uniMap = new UniMap({
provider: 'qqmap', // 指定使用哪家地图供应商
key: 'xxxxxx',
needOriginalResult: false, // 是否需要返回原始信息
});
2
3
4
5
6
7
8
# API 列表
# 逆地址解析(坐标转地址)
接口名
uniMap.location2address
功能介绍
主要用于将经纬度坐标识别为详细地址,如:39.908815,116.397507 识别为 北京市东城区西长安街 1 号
同时还能获取到经纬度所在省、市、区、乡镇、门牌号、行政区划代码,及周边参考位置信息,如道路及交叉口、河流、湖泊、桥等
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.location2address({
location: '39.908815,116.397507',
});
console.log('result', result);
2
3
4
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| location | String | 是 | 经纬度(GCJ02 坐标系),格式:location=lat<纬度>,lng<经度> | all |
| get_poi | Number | 否 | 是否返回周边地点(POI)列表 0:不返回(默认) 1:返回 | all |
| poi_options | Object | 否 | 周边 POI(AOI)列表控制参数,仅当 get_poi=1 时生效 | all |
| |-- radius | Number | 否 | 搜索半径,单位:米 radius 取值范围 腾讯地图 1-5000(米) 高德地图 0~3000(米),默认是 1000(米) | all |
| |-- policy | Number | 否 | 控制返回场景 1[默认] 以地标+主要的路+近距离 POI 为主,着力描述当前位置; 2 到家场景:筛选合适收货的 POI,并会细化收货地址,精确到楼栋; 3 出行场景:过滤掉车辆不易到达的 POI(如一些景区内 POI), 增加道路出入口、交叉口、大区域出入口类 POI,排序会根据真实 API 大用户的用户点击自动优化。 4 社交签到场景,针对用户签到的热门 地点进行优先排序。 5 位置共享场景,用户经常用于发送位置、位置分享等场景的热门地点优先排序 4 注:policy=1/2/3 最多返回 10 条周边 POI,policy=4/5 最多返回 20 条, | all |
| |-- address_format | String | 否 | 地址格式 long 长地址(默认) short 短地址 | 腾讯地图 |
| |-- poitype | String | 否 | 返回附近 POI 类型 参数仅支持传入 POI TYPECODE,可以传入多个 POI TYPECODE,相互之间用“|”分隔。 获取 POI TYPECODE 可以参考 高德地图-POI 分类码表 (opens new window) | 高德地图 |
| |-- roadlevel | Number | 否 | 道路等级 0:显示所有道路 1:过滤非主干道路,仅输出主干道路数据 | 高德地图 |
| |-- homeorcorp | Number | 否 | 是否优化 POI 返回顺序 homeorcorp 参数的设置可以影响召回 POI 内容的排序策略, 目前提供三个可选参数: 0:不对召回的排序策略进行干扰。 1:综合大数据分析将居家相关的 POI 内容优先返回,即优化返回结果中 pois 字段的 poi 顺序。 2:综合大数据分析将公司相关的 POI 内容优先返回,即优化返回结果中 pois 字段的 poi 顺序。 | 高德地图 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| formatted_addresses | String | 详细地址 | all |
| country | String | 国家 | all |
| province | String | 省 | all |
| city | String | 市 | all |
| district | String | 区 | all |
| street | String | 街道/道路,可能为空字串 | all |
| street_number | String | 门牌,可能为空字串 | all |
| adcode | String | 行政区划代码 | all |
| pois | Array | 周边 POI | all |
| |-- id | String | id | all |
| |-- title | String | 地点名称 | all |
| |-- address | String | 地址 | all |
| |-- location | Object | 经纬度 | all |
| |-- distance | Number | 距离(米) | all |
| |-- direction | String | 方位 | all |
| |-- category | String | 类别 | all |
| roads | Array | 道路信息列表 | 高德地图 |
| |-- id | String | 道路 id | 高德地图 |
| |-- title | String | 道路名称 | 高德地图 |
| |-- distance | String | 道路到请求坐标的距离(米) | 高德地图 |
| |-- direction | Object | 方位 | 高德地图 |
| |-- location | Object | 坐标点 | 高德地图 |
| |-- lat | Number | 纬度 | 高德地图 |
| |-- lng | Number | 经度 | 高德地图 |
| roadinters | Array | 道路交叉口列表 | 高德地图 |
| |-- distance | String | 交叉路口到请求坐标的距离(米) | 高德地图 |
| |-- direction | String | 方位(输入点相对路口的方位) | 高德地图 |
| |-- first_id | String | 第一条道路 id | 高德地图 |
| |-- first_name | String | 第一条道路名称 | 高德地图 |
| |-- second_id | String | 第二条道路 id | 高德地图 |
| |-- second_name | String | 第二条道路名称 | 高德地图 |
| |-- location | Object | 路口经纬度 | 高德地图 |
| |-- lat | Number | 纬度 | 高德地图 |
| |-- lng | Number | 经度 | 高德地图 |
# 地址解析(地址转坐标)
接口名
uniMap.address2location
功能介绍
用于将文字地址转换成对应的经纬度坐标,同时识别文字地址中的行政区域
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.address2location({
address: '北京市海淀区彩和坊路海淀西大街74号',
});
console.log('result', result);
2
3
4
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| address | String | 是 | 地址(注:地址中请包含城市名称,以及需要对地址进行 URL 编码,否则会影响解析效果) | all |
| city | String | 否 | 指定查询的城市(不传则在全国范围内查询) | all |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| location | Object | 经纬度 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| adcode | String | 行政区划代码 | all |
| province | String | 省 | all |
| city | String | 市 | all |
| district | String | 区,可能为空字串 | all |
| street | String | 街道/道路,可能为空字串 | all |
| street_number | String | 门牌,可能为空字串 | all |
# 坐标转换
接口名
uniMap.translate
功能介绍
实现从其它地图供应商坐标系或标准 GPS 坐标系,批量转换到指定地图供应商的坐标系。
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.translate({
locations: [
{ lat: 39.908815, lng: 116.397507 },
{ lat: 39.908815, lng: 116.397107 },
],
type: 3,
});
console.log('result', result);
2
3
4
5
6
7
8
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| locations | Array | 是 | 预转换的坐标,支持批量转换 | all |
| |-- lat | Number | 纬度 | all | |
| |-- lng | Number | 经度 | all | |
| type | Number | 否 | 输入的 locations 的坐标类型, 可选值: 1:GPS 2:sogou 3:baidu 4:mapbar 6:sogou | 腾讯地图:全部支持; 高德地图:1、3、4 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| locations | Array | 坐标转换结果,转换后的坐标顺序与输入顺序一致 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
# IP 定位
接口名
uniMap.ip2location
功能介绍
通过终端设备 IP 地址获取其当前所在地理位置,常用于显示当前所在城市。
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.ip2location({
ip: '111.206.145.41',
});
console.log('result', result);
2
3
4
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| ip | String | 是 | IP 地址 | all |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| location | Object | 坐标 | 腾讯地图 |
| |-- lat | Number | 纬度 | 腾讯地图 |
| |-- lng | Number | 经度 | 腾讯地图 |
| nation | String | 国家 | 腾讯地图 |
| nation_code | String | 国家代码(ISO3166 标准 3 位数字码) | 腾讯地图 |
| adcode | Number | 行政区划代码 | all |
| province | String | 省 | all |
| city | String | 市,可能为空 | all |
| district | String | 区,可能为空 | 腾讯地图 |
| rectangle | String | 所在城市矩形区域范围 | 高德地图 |
# 关键词输入提示
接口名
uniMap.inputtips
功能介绍
用于获取输入关键字的补完与提示,帮助用户快速输入。需配合前端程序实现 Autocomplete(自动完成)的效果。

示例
注意:uniMap 需要先初始化实例
let result = await uniMap.inputtips({
keyword: '人民医院',
city: '北京市',
});
console.log('result', result);
2
3
4
5
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| keyword | String | 是 | 用户输入的关键词(希望获取后续提示的关键词) | all |
| city | String | 是 | 限制城市范围 | all |
| citylimit | Boolean | 否 | false:当前城市无结果时,自动扩大范围到全国匹配(默认) true:固定在当前城市 | all |
| location | Object | 否 | 定位坐标,传入后,若用户搜索关键词为类别词(如酒店、餐馆时), 与此坐标距离近的地点将靠前显示 | all |
| |-- lat | Number | 纬度 | all | |
| |-- lng | Number | 经度 | all | |
| get_subpois | Number | 否 | 是否返回子地点,如大厦停车场、出入口等取值 0:不返回(默认) 1:返回 | 腾讯地图 |
| policy | Number | 否 | 检索策略 | 腾讯地图 |
| filter | String | 否 | 筛选条件 | 腾讯地图 |
| address_format | String | 否 | 可选值:short 返回“不带行政区划的”短地址 | 腾讯地图 |
| page_index | Number | 否 | 页码,从 1 开始,最大页码需通过 count 进行计算,必须与 page_size 同时使用 | 腾讯地图 |
| page_size | Number | 否 | 每页条数,取值范围 1-20,必须与 page_index 同时使用 | 腾讯地图 |
| datatype | Number | 否 | 返回的数据类型,多种数据类型用“|”分隔 可选值: all:返回所有数据类型 poi:返回 POI 数据类型 bus:返回公交站点数据类型 busline:返回公交线路数据类型 | 高德地图 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| data | Array | 提示词数组,每项为一个 POI 对象 | all |
| |-- id | String | 若数据为 POI 类型,则返回 POI ID;若数据为 bus 类型,则返回 bus id;若数据为 busline 类型,则返回 busline id。 | all |
| |-- title | String | 地点名称 | all |
| |-- address | String | 地址 | all |
| |-- category | String | 分类 | 腾讯地图 |
| |-- type | String | POI 类型,值说明:0:普通 POI / 1:公交车站 / 2:地铁站 / 3:公交线路 / 4:行政区划 | 腾讯地图 |
| |-- location | String | 经纬度 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- adcode | Number | 行政区划代码 | all |
| |-- province | String | 省 | 腾讯地图 |
| |-- city | String | 市 | 腾讯地图 |
| |-- district | String | 腾讯地图:区/县,当 type(POI 类型)为 3(公交线路)时,district 由 city 补全 高德地图为:省+市+区(直辖市为“市+区”) | all |
| |-- children | Array | 子地点,当 get_subpois=1 时返回 | 腾讯地图 |
| |-- parent_id | String | 主地点 ID,对应 data 中的地点 ID | 腾讯地图 |
| |-- id | String | 地点唯一标识 | 腾讯地图 |
| |-- title | String | 地点名称 | 腾讯地图 |
| |-- address | String | 地址 | 腾讯地图 |
| |-- category | String | POI(地点)分类 | 腾讯地图 |
| |-- location | String | 地址 | 腾讯地图 |
| |-- lat | Number | 纬度 | 腾讯地图 |
| |-- lng | Number | 经度 | 腾讯地图 |
| |-- adcode | String | 行政区划代码 | 腾讯地图 |
| |-- city | String | 地址 | 腾讯地图 |
| |-- address | String | 地点所在城市名称 | 腾讯地图 |
# 地点搜索
接口名
uniMap.search
功能介绍
用于搜索周边地点,如,搜索颐和园附近半径 500 米内的酒店(一个圆形范围)
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.search({
keyword: '酒店',
location: {
lat: 39.908815,
lng: 116.397507,
},
radius: 1000,
auto_extend: 1,
get_subpois: 0,
orderby: 'weight',
page_index: 1,
page_size: 20,
city: '北京市',
});
console.log('result', result);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| keyword | String | 是 | 搜索关键字,长度最大 80 个字节 | all |
| location | Object | 是 | 搜索中心点的经纬度 | all |
| |-- lat | Number | 是 | 纬度 | all |
| |-- lng | Number | 是 | 经度 | all |
| radius | Number | 否 | 搜索半径,单位:米,取值范围: 腾讯地图:10 到 1000 高德地图:取值范围:0-50000 | all |
| auto_extend | Number | 否 | 当前范围无结果时,是否自动扩大范围 0:不扩大 1:自动扩大范围(默认) | all |
| get_subpois | Number | 否 | 是否返回子地点,如大厦停车场、出入口等取值 0:不返回(默认) 1:返回 | all |
| orderby | String | 否 | 排序,支持按距离由近到远排序,取值: distance:按距离排序 weight:综合排序 说明: 1. 周边搜索默认排序会综合考虑距离、权重等多方面因素 2. 设置按距离排序后则仅考虑距离远近,一些低权重的地点可能因距离近排在前面,导致体验下降 | all |
| page_index | Number | 否 | 页码,从 1 开始,最大页码需通过 count 进行计算,必须与 page_size 同时使用 | all |
| page_size | Number | 否 | 每页条数,取值范围 1-20,必须与 page_index 同时使用 | all |
| filter | String | 否 | 筛选条件 | 腾讯地图 |
| types | String | 否 | 指定地点类型 | 高德地图 |
| city | String | 否 | 搜索的城市 | 高德地图 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| data | Array | 搜索结果 POI(地点)数组,每项为一个 POI(地点)对象 | all |
| |-- id | String | POI(地点)唯一标识 | all |
| |-- title | String | 地点名称 | all |
| |-- tel | String | 电话 | all |
| |-- address | String | 地址 | all |
| |-- category | String | 分类 | all |
| |-- type | String | POI 类型,值说明:0:普通 POI / 1:公交车站 / 2:地铁站 / 3:公交线路 / 4:行政区划 | 腾讯地图 |
| |-- location | String | 经纬度 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- distance | Number | 距离,单位: 米,根据传入的定位点计算返回 | all |
| |-- adcode | Number | 行政区划代码 | all |
| |-- province | String | 省 | 腾讯地图 |
| |-- city | String | 市 | 腾讯地图 |
| |-- district | String | 区/县 | 腾讯地图 |
| |-- children | Array | 子地点,当 get_subpois=1 时返回 | all |
| |-- parent_id | String | 主地点 ID,对应 data 中的地点 ID | all |
| |-- id | String | 地点唯一标识 | all |
| |-- title | String | 地点名称 | all |
| |-- tel | String | 电话 | all |
| |-- category | String | POI(地点)分类 | all |
| |-- address | String | 地址 | all |
| |-- location | Object | 经纬度 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- type | String | POI 类型,值说明:0:普通 POI / 1:公交车站 / 2:地铁站 / 3:公交线路 / 4:行政区划 | 腾讯地图 |
| |-- adcode | String | 行政区划代码 | 腾讯地图 |
| |-- province | String | 省 | 腾讯地图 |
| |-- city | String | 市 | 腾讯地图 |
| |-- district | String | 区/县 | 腾讯地图 |
# 行政区域查询
接口名
uniMap.districtSearch
功能介绍
用于查询四级行政区划列表:省、市、区、街道
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.districtSearch({
adcode: '110101',
});
console.log('result', result);
2
3
4
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| adcode | String | 否 | 父级行政区划 adcode | all |
| get_polygon | Number | 否 | 返回行政区划轮廓点串(经纬度点串),取值: 0 默认,不返回轮廓 1 包含海域,3 公里抽稀粒度 2 纯陆地行政区划,可通过 max_offset 设置返回轮廓的抽稀级别 注:乡镇/街道(四级)不支持返回轮廓 | 腾讯地图:0、1、2 高德地图:0、2 |
| max_offset | Number | 否 | 轮廓点串的抽稀精度(仅对 get_polygon=2 时支持), 单位米,可选值: 100 :100 米(当缺省 id 返回省级区划时,将按 500 米返回,其它级别正常生效) 500 :500 米 1000:1000 米 3000:3000 米 | 腾讯地图 |
| page_index | Number | 否 | 页码,从 1 开始,最大页码需通过 count 进行计算,必须与 page_size 同时使用 | 高德地图 |
| page_size | Number | 否 | 每页条数,取值范围 1-20,必须与 page_index 同时使用 | 高德地图 |
| filter | String | 否 | 按照指定行政区划进行过滤,填入后则只返回该省/直辖市信息 需填入 adcode,为了保证数据的正确,强烈建议填入此参数 | 高德地图 |
| subdistrict | Number | 否 | 可选值: 1:返回下一级行政区; 2:返回下两级行政区; 3:返回下三级行政区; | 高德地图 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| data | Array | 结果数组 | all |
| |-- adcode | String | 行政区划唯一标识 | all |
| |-- name | String | 简称,如“内蒙古” 注意:高德地图 name = fullname | all |
| |-- fullname | String | 全称,如“内蒙古自治区” | all |
| |-- location | String | 经纬度 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- pinyin | Array | 行政区划拼音,每一下标为一个字的全拼,如:[“nei”,“meng”,“gu”] | 腾讯地图 |
| |-- cidx | Array | 子级行政区划在下级数组中的下标位置 | 腾讯地图 |
| |-- polygon | Array | 该行政区划的轮廓经纬度点串(当使用 get_polygon=1 或 2 时返回),数组每一项为一个多边形,一个行政区划可以由多块多边形组成 注意:部分城市存在飞地,当两个 polygon 重叠时,重叠区域隶属其他城市,不重叠时代表此城市的飞地 | 腾讯地图 |
| |-- level | Array | 行政区划级别 | 高德地图 |
| |-- children | Array | 下级行政区列表,需传 subdistrict 参数才会有此值 | 高德地图 |
# 路线规划
# 驾车(driving)
接口名
uniMap.route
功能介绍
用于计算从起点到终点驾车的路线以及结合实时路况、少收费、不走高速等多种偏好,精准预估到达时间。
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.route({
mode: 'driving',
from: '40.034852,116.319820',
to: '39.771075,116.351395',
});
console.log('result', result);
2
3
4
5
6
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| mode | String | 是 | 交通方式 固定为:driving | all |
| from | String | 是 | 起点位置坐标,格式:lat,lng | all |
| to | String | 是 | 终点位置坐标,格式:lat,lng | all |
| from_poi | String | 否 | 起点 POI ID,传入后,优先级高于 from(坐标) | all |
| to_poi | String | 否 | 终点 POI ID,传入后,优先级高于 to(坐标) | all |
| policy | String | 否 | 算路策略 详情 | all |
| waypoints | String | 否 | 格式:lat1,lng1;lat2,lng2; | all |
| avoid_polygons | String | 否 | 避让区域 | all |
| road_type | Number | 否 | [from 辅助参数] 起点道路类型详情 | all |
| plate_number | String | 否 | 车牌号,填入后,路线引擎会根据车牌对限行区域进行避让,不填则不不考虑限行问题 | all |
| cartype | Number | 否 | 车辆类型(影响限行规则), 取值: 0:[默认]普通汽车 1:新能源 2:插电式混动汽车 | 腾讯地图:0、1; 高德地图:全部支持 |
| heading | Number | 否 | [from 辅助参数]在起点位置时的车头方向,数值型,取值范围 0 至 360(0 度代表正北,顺时针一周 360 度) | 腾讯地图 |
| speed | Number | 否 | [from 辅助参数]速度,单位:米/秒,默认 3。 当速度低于 1.39 米/秒时,heading 将被忽略 | 腾讯地图 |
| accuracy | Number | 否 | [from 辅助参数]定位精度,单位:米,取>0 数值,默认 5。 当定位精度>30 米时 heading 参数将被忽略 | 腾讯地图 |
| from_track | Number | 否 | [from 辅助参数]起点轨迹 | 腾讯地图 |
| get_mp | Number | 否 | 是否返回多方案 0:[默认]仅返回一条路线方案 1:返回多方案(最多可返回三条方案供用户备选) | 腾讯地图 |
| no_step | Number | 否 | 不返回路线引导信息,可使回包数据量更小, 取值: 0:[默认]返回路线引导信息 1:不返回 | 腾讯地图 |
| avoidroad | String | 否 | 避让道路名,只支持一条避让道路 | 高德地图 |
| ferry | Number | 否 | 是否使用轮渡 0:使用渡轮 1:不使用渡轮 | 高德地图 |
# 驾车方式 policy 值范围
0:速度优先(只返回一条路线),此路线不一定距离最短
1:费用优先(只返回一条路线),不走收费路段,且耗时最少的路线
2:距离优先(只返回一条路线),仅走距离最短的路线,但是可能存在穿越小路/小区的情况
3:速度优先(只返回一条路线),不走快速路,例如京通快速路
32:高德地图 APP 默认策略
33:躲避拥堵
34:高速优先
35:不走高速
36:少收费
37:大路优先
38:速度最快
39:躲避拥堵+高速优先
40:躲避拥堵+不走高速
41:躲避拥堵+少收费
42:少收费+不走高速
43:躲避拥堵+少收费+不走高速
44:躲避拥堵+大路优先
45:躲避拥堵+速度最快
101:该策略会通过终点坐标查找所在地点(如小区/大厦等),并使用地点出入口做为目的地,使路径更为合理
注意:高德地图支持除 101 外的所有策略,腾讯地图只支持 0、34、35、36、37、101
# 驾车 road_type 值范围
0:[默认]不考虑起点道路类型
1:在桥上
2:在桥下
3:在主路
4:在辅路
5:腾讯地图:在对面 高德地图:隧道
6:桥下主路
7:腾讯地图:桥下辅路 高德地图:环岛
9:腾讯地图:不支持 高德地图:停车场内部
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
驾车(driving)返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| routes | Array | 路线方案 | all |
| |-- mode | String | 方案交通方式 | all |
| |-- tags | Array | 方案标签 | 腾讯地图 |
| |-- distance | Number | 方案总距离,单位:米 | all |
| |-- traffic_light_count | Number | 方案途经红绿灯个数 | 腾讯地图 |
| |-- restriction_status | Object | 限行状态码: 0 途经没有限行城市,或路线方案未涉及限行区域 1 途经包含有限行的城市 3 [设置车牌] 已避让限行 4 [设置车牌] 无法避开限行区域(本方案包含限行路段) | 腾讯地图:0、1、3、4 高德地图:0、1 |
| |-- polyline | Array | 方案路线坐标点串 | 腾讯地图 |
| |-- taxi_cost | Number | 预估打车费用,单位:元 | all |
| |-- steps | Array | 路线步骤 | all |
| |-- instruction | String | 阶段路线描述 | all |
| |-- road_name | String | 阶段路线路名 | all |
| |-- dir_desc | String | 阶段路线方向 | all |
| |-- distance | Number | 阶段路线距离,单位:米 | all |
| |-- act_desc | String | 阶段路线末尾动作:如:左转调头 | all |
| |-- accessorial_desc | String | 末尾辅助动作:如:到达终点 | all |
| |-- polyline | String | 分路段坐标点串,格式:lat1,lng1;lat2,lng2 | all |
| |-- polyline_idx | Array | 阶段路线坐标点串在方案路线坐标点串的位置 | 腾讯地图 |
| |-- cost | Object | 设置后可返回方案所需时间及费用成本 | 高德地图 |
| |-- duration | String | 线路耗时,分段 step 中的耗时 | 高德地图 |
| |-- tolls | String | 此路线道路收费,单位:元,包括分段信息 | 高德地图 |
| |-- toll_distance | String | 收费路段里程,单位:米,包括分段信息 | 高德地图 |
| |-- toll_road | String | 主要收费道路 | 高德地图 |
| |-- traffic_lights | String | 方案中红绿灯个数,单位:个 | 高德地图 |
| |-- speed | Array | 路况信息,只有设置 get_speed=1 才会返回 | 高德地图 |
| |-- distance | String | 距离,单位:米 | 高德地图 |
| |-- level | String | 路况类型:0:畅通 1:缓行 2:拥堵 3:无路况 4:严重拥堵 | 高德地图 |
| |-- polyline | String | 分路段坐标点串,格式:lat1,lng1;lat2,lng2 | 高德地图 |
| |-- speed | Array | 路况信息,只有设置 get_speed=1 才会返回 | 腾讯地图 |
| |-- distance | String | 距离,单位:米 | 腾讯地图 |
| |-- level | String | 路况类型:0:畅通 1:缓行 2:拥堵 3:无路况 4:严重拥堵 | 腾讯地图 |
| |-- polyline | String | 分路段坐标点串,格式:lat1,lng1;lat2,lng2 | 腾讯地图 |
| |-- polyline_idx | String | 阶段路线坐标点串,在路线坐标点串的位置 | 腾讯地图 |
| |-- waypoints | Array | 途经点,顺序与输入 waypoints 一致 (输入 waypoints 时才会有此结点返回) | 腾讯地图 |
| |-- title | String | 途经点路名 | 腾讯地图 |
| |-- location | Object | 途经点坐标: | 腾讯地图 |
| |-- lat | Number | 纬度 | 腾讯地图 |
| |-- lng | Number | 经度 | 腾讯地图 |
| |-- duration | Number | 预估到达耗时,单位:分钟 | 腾讯地图 |
| |-- distance | Number | 起点到该途经点的距离,单位:米 | 腾讯地图 |
| |-- polyline | String | 分路段坐标点串,格式:lat1,lng1;lat2,lng2 | 腾讯地图 |
| |-- polyline_idx | Number | 该途经点在 polyline 中的索引位置(数组下标位置) | 腾讯地图 |
| |-- cities | Object | 途径城市信息 | all |
| |-- adcode | String | 途径区域编码 | all |
| |-- citycode | String | 途径城市编码 | 高德地图 |
| |-- city | String | 途径城市名称 | 高德地图 |
| |-- district | String | 途径区县信息 | 高德地图 |
| |-- name | String | 途径区县名称 | 高德地图 |
| |-- adcode | String | 途径区县 adcode |
# 步行(walking)
接口名
uniMap.route
功能介绍
用于计算从起点到终点基于步行路线规划。
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.route({
mode: 'walking',
from: '40.034852,116.319820',
to: '39.771075,116.351395',
});
console.log('result', result);
2
3
4
5
6
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| mode | String | 是 | 交通方式 固定为:walking | all |
| from | String | 是 | 起点位置坐标,格式:lat,lng | all |
| to | String | 是 | 终点位置坐标,格式:lat,lng | all |
| to_poi | String | 否 | 终点 POI ID,传入后,优先级高于 to(坐标) | 腾讯地图 |
| alternative_route | Number | 否 | 1:多备选路线中第一条路线 2:多备选路线中前两条路线 3:多备选路线中三条路线 不传则默认返回一条路线方案 | 高德地图 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
步行(walking)返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| routes | Array | 路线方案 | all |
| |-- mode | String | 方案交通方式 | all |
| |-- distance | Number | 方案总距离,单位:米 | all |
| |-- duration | Number | 方案估算时间,单位:分钟 | all |
| |-- direction | String | 方案整体方向 | 腾讯地图 |
| |-- polyline | Array | 方案路线坐标点串 | 腾讯地图 |
| |-- steps | Array | 路线步骤 | all |
| |-- instruction | String | 阶段路线描述 | all |
| |-- road_name | String | 阶段路线路名 | all |
| |-- dir_desc | String | 阶段路线方向 | all |
| |-- distance | Number | 阶段路线距离,单位:米 | all |
| |-- act_desc | String | 阶段路线末尾动作:如:左转调头 | all |
| |-- polyline | String | 分路段坐标点串,格式:lat1,lng1;lat2,lng2 | all |
| |-- type | Number | 阶段路线的步行设施类型(type),包含: 0 普通道路,1 过街天桥,2 地下通道,3 人行横道 | 腾讯地图 |
| |-- polyline_idx | Array | 阶段路线坐标点串在方案路线坐标点串的位置 | 腾讯地图 |
| |-- taxi_cost | Number | 预估打车费用,单位:元(此字段不一定会返回) | 高德地图 |
| |-- duration | Number | 线路耗时,分段 step 中的耗时,单位:分钟 | 高德地图 |
# 骑行(bicycling)
接口名
uniMap.route
功能介绍
用于计算从起点到终点基于自行车的骑行路线规划
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.route({
mode: 'bicycling',
from: '40.034852,116.319820',
to: '39.771075,116.351395',
});
console.log('result', result);
2
3
4
5
6
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| mode | String | 是 | 交通方式 固定为:walking | all |
| from | String | 是 | 起点位置坐标,格式:lat,lng | all |
| to | String | 是 | 终点位置坐标,格式:lat,lng | all |
| to_poi | String | 否 | 终点 POI ID,传入后,优先级高于 to(坐标) | 腾讯地图 |
| alternative_route | Number | 否 | 1:多备选路线中第一条路线 2:多备选路线中前两条路线 3:多备选路线中三条路线 不传则默认返回一条路线方案 | 高德地图 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
骑行(bicycling)返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| routes | Array | 路线方案 | all |
| |-- mode | String | 方案交通方式 | all |
| |-- distance | Number | 方案总距离,单位:米 | all |
| |-- duration | Number | 方案估算时间,单位:分钟 | all |
| |-- direction | String | 方案整体方向 | 腾讯地图 |
| |-- polyline | Array | 方案路线坐标点串 | 腾讯地图 |
| |-- steps | Array | 路线步骤 | all |
| |-- instruction | String | 阶段路线描述 | all |
| |-- road_name | String | 阶段路线路名 | all |
| |-- dir_desc | String | 阶段路线方向 | all |
| |-- distance | Number | 阶段路线距离,单位:米 | all |
| |-- act_desc | String | 阶段路线末尾动作:如:左转调头 | all |
| |-- polyline | String | 分路段坐标点串,格式:lat1,lng1;lat2,lng2 | all |
| |-- polyline_idx | Array | 阶段路线坐标点串在方案路线坐标点串的位置 | 腾讯地图 |
| |-- duration | String | 线路耗时,分段 step 中的耗时 | 高德地图 |
# 电动车(ebicycling)
接口名
uniMap.route
功能介绍
用于计算从起点到终点基于电动自行车的骑行路线规划
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.route({
mode: 'ebicycling',
from: '40.034852,116.319820',
to: '39.771075,116.351395',
});
console.log('result', result);
2
3
4
5
6
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| mode | String | 是 | 交通方式 固定为:ebicycling | all |
| from | String | 是 | 起点位置坐标,格式:lat,lng | all |
| to | String | 是 | 终点位置坐标,格式:lat,lng | all |
| to_poi | String | 否 | 终点 POI ID,传入后,优先级高于 to(坐标) | 腾讯地图 |
| alternative_route | Number | 否 | 1:多备选路线中第一条路线 2:多备选路线中前两条路线 3:多备选路线中三条路线 不传则默认返回一条路线方案 | 高德地图 |
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
电动车(ebicycling)返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| routes | Array | 路线方案 | all |
| |-- mode | String | 方案交通方式 | all |
| |-- distance | Number | 方案总距离,单位:米 | all |
| |-- duration | Number | 方案估算时间,单位:分钟 | all |
| |-- direction | String | 方案整体方向 | 腾讯地图 |
| |-- polyline | Array | 方案路线坐标点串 | 腾讯地图 |
| |-- steps | Array | 路线步骤 | all |
| |-- instruction | String | 阶段路线描述 | all |
| |-- road_name | String | 阶段路线路名 | all |
| |-- dir_desc | String | 阶段路线方向 | all |
| |-- distance | Number | 阶段路线距离,单位:米 | all |
| |-- act_desc | String | 阶段路线末尾动作:如:左转调头 | all |
| |-- polyline | String | 分路段坐标点串,格式:lat1,lng1;lat2,lng2 | all |
| |-- polyline_idx | Array | 阶段路线坐标点串在方案路线坐标点串的位置 | 腾讯地图 |
| |-- duration | Number | 线路耗时,分段 step 中的耗时 | 高德地图 |
# 公交(transit)
接口名
uniMap.route
功能介绍
基于公共汽车、地铁、火车等公共交通工具,计算起到终点的路线换乘方案,同时提供少换乘、少步行等偏好设置,支持一次返回多条方案以供用户选择。
示例
注意:uniMap 需要先初始化实例
let result = await uniMap.route({
mode: 'transit',
from: '40.034852,116.319820',
to: '29.771075,116.351395',
city1: '010',
city2: '0792',
});
console.log('result', result);
2
3
4
5
6
7
8
请求参数
| 参数 | 类型 | 必填 | 说明 | 兼容性 |
|---|---|---|---|---|
| mode | String | 是 | 交通方式 固定为:transit | all |
| from | String | 是 | 起点位置坐标,格式:lat,lng | all |
| to | String | 是 | 终点位置坐标,格式:lat,lng | all |
| from_poi | String | 否 | 起点 POI ID,传入后,优先级高于 from(坐标) | all |
| to_poi | String | 否 | 终点 POI ID,传入后,优先级高于 to(坐标) | all |
| policy | String | 否 | 算路策略 详情 | all |
| departure_time | Number | 否 | 出发时间,用于过滤掉非运营时段的线路,格式为 Unix 时间戳,默认使用当前时间 | 腾讯地图 |
| ad1 | String | 是 | 仅支持 adcode | 高德地图 |
| ad2 | String | 是 | 仅支持 adcode | 高德地图 |
| city1 | String | 是 | 起点所在城市(仅支持 citycode,相同时代表同城,不同时代表跨城) | 高德地图 |
| city2 | String | 是 | 目的地所在城市(仅支持 citycode,相同时代表同城,不同时代表跨城) | 高德地图 |
| alternative_route | Number | 否 | 返回方案条数 最大 3 条,mode 为公交时,最大 10 条 | 高德地图 |
| multiexport | Number | 否 | 地铁出入口数量 0:只返回一个地铁出入口 1:返回全部地铁出入口 | 高德地图 |
| max_trans | Number | 否 | 最大换乘次数 | 高德地图 |
| nightflag | Number | 否 | 考虑夜班车 0:不考虑夜班车 1:考虑夜班车 | 高德地图 |
| date | String | 否 | 请求日期 例如:2013-10-28 | 高德地图 |
| time | String | 否 | 请求时间 例如:9-54 | 高德地图 |
# 公交方式 policy 值范围
0:默认模式
1:最经济模式,票价最低
2:最少换乘模式,换乘次数少
3:最少步行模式,尽可能减少步行距离
4:最舒适模式,尽可能乘坐空调车
5:不乘地铁模式,不乘坐地铁路线
6:地铁图模式,起终点都是地铁站(地铁图模式下 originpoi 及 destinationpoi 为必填项)
7:地铁优先模式,步行距离不超过 4KM
8:时间短模式,方案花费总时间最少
注意:高德地图支持所有策略,腾讯地图只支持 0、2、3、5、6、7
返回参数
仅列出 result 内的参数,其他参数见 公共返回参数
公交(transit)返回参数
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| routes | Array | 路线方案 | all |
| |-- mode | String | 方案交通方式 | all |
| |-- distance | Number | 方案总距离,单位:米 | all |
| |-- duration | Number | 方案估算时间,单位:分钟 | all |
| |-- bounds | Number | 整体路线的外接矩形范围,可在地图显示时使用 通过矩形西南+东北两个端点坐标定义而面 示例:“39.901405,116.334023,39.940289,116.451720” | 腾讯地图 |
| |-- transit_fee | Number | 各换乘方案总花费,单位:元 | 高德地图 |
| |-- steps | Array | 一条完整公交路线可能会包含多种公共交通工具, 各交通工具的换乘由步行路线串联起来, 形成这样的结构(即 steps 数组的结构): [步行 , 公交 , 步行 , 公交 , 步行(到终点)] | all |
| |-- mode | String | 本段交通方式,取值: walking:步行 transit:公共交通工具 不同的方式,返回不同的数据结构,须根据该参数值来判断以哪种结构进行解析,各类具体定义见下文 | all |
| |-- 其它字段 | -- | 随 mode 不同有不同字段返回,见下文 | all |
公交方式包含步行+公共交通混合
以下是交通方式 - 步行 - 响应结果
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| mode | String | 交通方式,固定值:walking | all |
| distance | Number | 本段 step 距离,单位:米 | all |
| duration | Number | 估算时间,单位:分钟 | all |
| direction | String | 方案整体方向描述,如:“南” | 腾讯地图 |
| polyline | Array | 路线坐标点串,可用于在地图中绘制路线 | 腾讯地图 |
| steps | Array | 分路段导航信息 | all |
| |-- instruction | String | 阶段路线描述 | all |
| |-- road_name | String | 阶段路线路名 | all |
| |-- dir_desc | String | 阶段路线方向 | all |
| |-- distance | Number | 阶段路线距离,单位:米 | all |
| |-- act_desc | String | 阶段路线末尾动作:如:左转调头 | all |
| |-- polyline_idx | Array | 阶段路线坐标点串在方案路线坐标点串的位置 | 腾讯地图 |
响应结果 - 交通方式 - 公共交通(transit) 本段为公共交通方式的对象结构,对应 steps[]数组下的子对象(“mode”:“transit”)
- 交通工具 - 公共汽车(“vehicle”:“BUS”): 本段为公共交通的子对象,vehicle 属性值为"BUS"
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| mode | String | 交通方式,固定值:transit | all |
| lines | Array | lines 线路信息 | all |
| |-- vehicle | String | 交通工具:公交车(BUS) | all |
| |-- id | String | 线路唯一标识 | all |
| |-- title | String | 线路名称 | all |
| |-- station_count | Number | 经停站数 | all |
| |-- distance | Number | 路线距离,单位:米 | all |
| |-- duration | Number | 路线估算时间,单位:分钟 | all |
| |-- polyline | Array | 线路坐标点串,可用于在地图中绘制路线 | all |
| |-- start_time | String | 首班车时间 | all |
| |-- end_time | String | 末班车时间 | all |
| |-- geton | Object | 上车站 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- getoff | Object | 下车站 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- stations | Array | 经停站列表 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- running_status | Number | 线路运营状态,取值范围: 300:正常 301:可能错过末班车 302:首班车还未发出 303:停运 | 腾讯地图 |
| |-- price | Number | 预估费用,单位:分,返回-1 时为缺少票价信息 | 腾讯地图 |
| |-- destination | Object | 公交终点站(用于指示方向) | 腾讯地图 |
| |-- id | String | 站点唯一标识 | 腾讯地图 |
| |-- title | String | 终点站名 | 腾讯地图 |
| |-- type | String | 公交类型 | 高德地图 |
- 交通工具 - 地铁(“vehicle”:“SUBWAY”): 本段为公共交通的子对象,vehicle 属性值为"SUBWAY"
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| mode | String | 交通方式,固定值:transit | all |
| lines | Array | lines 线路信息 | all |
| |-- vehicle | String | 交通工具:地铁(SUBWAY) | all |
| |-- id | String | 线路唯一标识 | all |
| |-- title | String | 线路名称 | all |
| |-- station_count | Number | 经停站数 | all |
| |-- running_status | Number | 线路运营状态,取值范围: 300:正常 301:可能错过末班车 302:首班车还未发出 303:停运 | 腾讯地图 |
| |-- price | Number | 预估费用,单位:分,返回-1 时为缺少票价信息 | 腾讯地图 |
| |-- distance | Number | 路线距离,单位:米 | all |
| |-- duration | Number | 路线估算时间,单位:分钟 | all |
| |-- polyline | Array | 线路坐标点串,可用于在地图中绘制路线 | all |
| |-- destination | Object | 公交终点站(用于指示方向) | 腾讯地图 |
| |-- id | String | 站点唯一标识 | 腾讯地图 |
| |-- title | String | 终点站名 | 腾讯地图 |
| |-- start_time | String | 首班车时间 | 腾讯地图 |
| |-- end_time | String | 末班车时间 | 腾讯地图 |
| |-- geton | Object | 上车站 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- exit | Object | 出入口 | 腾讯地图 |
| |-- id | String | 唯一标识 | 腾讯地图 |
| |-- title | String | 出入口名称 | 腾讯地图 |
| |-- getoff | Object | 下车站 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- exit | Object | 站点经纬度坐标 | 腾讯地图 |
| |-- id | String | 唯一标识 | 腾讯地图 |
| |-- title | String | 出入口名称 | 腾讯地图 |
| |-- stations | Array | 经停站列表 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
- 交通工具 - 火车(“vehicle”:“RAIL”): 本段为公共交通的子对象,vehicle 属性值为"RAIL"
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| mode | String | 交通方式,固定值:transit | all |
| lines | Array | lines 线路信息 | all |
| |-- vehicle | String | 交通工具:地铁(RAIL) | all |
| |-- title | String | 车次名称 | all |
| |-- station_count | Number | 经停站数 | 腾讯地图 |
| |-- running_status | Number | 线路运营状态,取值范围: 300:正常 301:可能错过末班车 302:首班车还未发出 303:停运 | 腾讯地图 |
| |-- price | Number | 预估费用,单位:分,返回-1 时为缺少票价信息 | 腾讯地图 |
| |-- distance | Number | 路线距离,单位:米 | all |
| |-- duration | Number | 路线估算时间,单位:分钟 | all |
| |-- departure_time | String | 发车时间 | 腾讯地图 |
| |-- arrival_time | String | 到达时间 | 腾讯地图 |
| |-- days_count | Number | 耗时天数,1 为当天到达,2 为隔天到达,以此类推 | 腾讯地图 |
| |-- polyline | Array | 线路坐标点串,可用于在地图中绘制路线 | 腾讯地图 |
| |-- destination | Object | 公交终点站(用于指示方向) | 腾讯地图 |
| |-- id | String | 站点唯一标识 | 腾讯地图 |
| |-- title | String | 终点站名 | 腾讯地图 |
| |-- geton | Object | 上车站 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | 腾讯地图 |
| |-- adcode | String | 上车站点所在城市的 adcode | 高德地图 |
| |-- time | String | 上车点发车时间 | 高德地图 |
| |-- start | Number | 是否始发站,1 表示为始发站,0 表示非始发站 | 高德地图 |
| |-- getoff | Object | 下车站 | all |
| |-- id | String | 站点唯一标识 | all |
| |-- title | String | 终点站名 | all |
| |-- location | Object | 站点经纬度坐标 | all |
| |-- lat | Number | 纬度 | all |
| |-- lng | Number | 经度 | all |
| |-- adcode | String | 上车站点所在城市的 adcode | 高德地图 |
| |-- time | String | 上车点发车时间 | 高德地图 |
| |-- end | Number | 是否为终点站,1 表示为终点站,0 表示非终点站 | 高德地图 |
| |-- stations | Array | 经停站列表 | 腾讯地图 |
| |-- id | String | 站点唯一标识 | 腾讯地图 |
| |-- title | String | 终点站名 | 腾讯地图 |
| |-- location | Object | 站点经纬度坐标 | 腾讯地图 |
| |-- lat | Number | 纬度 | 腾讯地图 |
| |-- lng | Number | 经度 | 腾讯地图 |
| |-- spaces | Object | 仓位及价格信息 | 高德地图 |
| |-- code | String | 仓位编码 | 高德地图 |
| |-- cost | String | 仓位费用 | 高德地图 |
- 交通工具 - 出租车(“vehicle”:“TAXI”): 本段为公共交通的子对象,vehicle 属性值为"TAXI"(仅高德地图支持"TAXI")
| 参数 | 类型 | 说明 | 兼容性 |
|---|---|---|---|
| mode | String | 交通方式,固定值:transit | 高德地图 |
| lines | Array | lines 线路信息 | 高德地图 |
| |-- vehicle | String | 交通工具:地铁(TAXI) | 高德地图 |
| |-- price | String | 预估费用,单位:元,返回-1 时为缺少票价信息 | 高德地图 |
| |-- drivetime | Number | 打车预计花费时间,单位:分 | 高德地图 |
| |-- distance | Number | 打车距离,单位:米 | 高德地图 |
| |-- polyline | String | 线路点集合 | 高德地图 |
| |-- startpoint | String | 打车起点经纬度 | 高德地图 |
| |-- startname | String | 打车起点名称 | 高德地图 |
| |-- endpoint | String | 打车终点经纬度 | 高德地图 |
| |-- endname | String | 打车终点名称 | 高德地图 |
# 通用请求接口
功能介绍
通过此接口可以调用未集成的 API
示例
以腾讯地图智能硬件定位为例
// 初始化实例
const uniMap = new vk.uniMap({
provider: 'qqmap', // 指定使用哪家地图供应商
key: 'xxxxxx',
needOriginalResult: true, // 此处必须设置为true
});
// 调用API(以智能硬件定位为例)
let result = await uniMap.request({
url: 'ws/location/v1/network',
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
dataType: 'json',
data: {
device_id: '11',
gpsinfo: {
longitude: 116.39747,
latitude: 39.908823,
},
},
});
console.log('result: ', result);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
请求参数
与地图开放平台接口参数一致
返回参数
与地图开放平台接口参数一致
# 全局错误码
| 错误模块 | 错误码 | 说明 |
|---|---|---|
| uni-map-common | 110 | 请求来源未被授权 |
| uni-map-common | 111 | 签名验证失败 |
| uni-map-common | 112 | IP 未被授权 |
| uni-map-common | 113 | 此功能未被授权 |
| uni-map-common | 120 | 此 key 每秒请求量已达到上限 |
| uni-map-common | 121 | 此 key 每日调用量已达到上限 |
| uni-map-common | 122 | ip 访问超限 |
| uni-map-common | 123 | 账号访问限制(如余额不足) |
| uni-map-common | 160 | sig 参数不支持此请求类型 |
| uni-map-common | 161 | sig 参数不支持和非 object 的 POST JSON 一起使用 |
| uni-map-common | 190 | 无效的 KEY |
| uni-map-common | 199 | 此 key 未开启 webservice 功能 |
| uni-map-common | 301 | 缺少必要字段 key |
| uni-map-common | 311 | key 格式错误 |
| uni-map-common | 300 | 缺少必要字段 |
| uni-map-common | 306 | 缺少参数 |
| uni-map-common | 311 | 服务不支持 https 请求 |
| uni-map-common | 320 | 参数数据类型错误 |
| uni-map-common | 330 | 参数长度错误 |
| uni-map-common | 351 | 存在不共存的参数 |
| uni-map-common | 324 | get 和 post 中的同一参数值不相同 |
| uni-map-common | 326 | 起终点距离过近 |
| uni-map-common | 327 | 附近无公交站 |
| uni-map-common | 328 | 无可达公交路线 |
| uni-map-common | 329 | 无可达火车路线 |
| uni-map-common | 331 | 查询条件过长 |
| uni-map-common | 332 | 途径点个数超过限制 |
| uni-map-common | 333 | 存在无法吸附的坐标点 |
| uni-map-common | 335 | 不支持该城市的公交查询 |
| uni-map-common | 341 | 缺少 keyword(关键词) |
| uni-map-common | 344 | 附近无火车站(公交) |
| uni-map-common | 347 | 查询无结果 |
| uni-map-common | 348 | 参数错误 |
| uni-map-common | 364 | 是否扩大搜索参数只能为 0 或 1 |
| uni-map-common | 365 | 纬度不能超过 ±90 |
| uni-map-common | 366 | 经度不能超过 ±180 |
| uni-map-common | 373 | 起终点距离超长 |
| uni-map-common | 374 | 起终点坐标错误 |
| uni-map-common | 375 | 局域网 IP 无法定位 |
| uni-map-common | 377 | 提供的起终点无法规划出导航线路 |
| uni-map-common | 378 | 提供的起终点无法规划出步行线路 |
| uni-map-common | 379 | 提供的起终点无法规划出公交线路 |
| uni-map-common | 380 | 坐标类型必须在有坐标的情况下使用 |
| uni-map-common | 382 | IP 无法定位 |
| uni-map-common | 384 | 提供的起终点无法规划出骑行线路 |
| uni-map-common | 387 | 没有对应的 POI |
| uni-map-common | 393 | 没有符合条件的数据 |
| uni-map-common | 394 | 错误的查询条件 |
| uni-map-common | 395 | 传入参数不合法 |
| uni-map-common | 396 | 最多支持 200 个坐标点,且起终点数目乘积最多为 625(距离矩阵) |
| uni-map-common | 397 | 一对多最多支持 200 个坐标点,多对多最多支持 25 个坐标点且起终点数目乘积最多为 625(距离矩阵) |
| uni-map-common | 500 | 服务响应失败 |
# 相关的插件
# 常见问题
# 使用 uni-map-common 后,我还需要购买 5 万元的地图商业授权费用吗?
使用地图服务需要商业授权,可联系 DCloud 申请折扣优惠。详情参考 商业授权相关说明 (opens new window)
# 地图 API 报 TypeError: vk.uniMap is not a constructor
- 需要 vk-unicloud 核心库版本 >= 2.15.2
- 请确保云函数添加了相关依赖(如下图所示)
