快速开始
https://stmappro.cn/access,Key 替换为系统 Client Key),即可使用本系统全部接口。其余厂商(高德 / 百度)及未对接过的开发者,请参考下方 Key 类型、鉴权与 URL 规则说明。
系统的 API 调用方式与官方 API 完全一致,只需做两处替换:
| 项目 | 官方 | 系统 |
|---|---|---|
| 域名 | restapi.amap.com |
https://stmappro.cn/access |
| Key | 官方开放平台申请的 Key | 系统后台开通的 Client Key |
| 路径 | /v3/geocode/geo |
/access/v3/geocode/geo 路径完全一致 |
| 参数 / 返回 | 与官方完全一致 | |
# 最小示例:地址编码
curl "https://stmappro.cn/access/v3/geocode/geo?key=你的ClientKey&address=上海市浦东新区陆家嘴"
# 返回
{
"status": "1",
"geocodes": [ { "formatted_address": "上海市浦东新区陆家嘴", "location": "121.506674,31.241581" } ]
}
高德 Web 服务 API
Web 服务 API 为服务端 HTTP 接口,适用于后端直接调用。接口路径与官方 API 完全一致,使用 Web 服务 Key鉴权。
接口总览(25 个)
| # | 接口名称 | 请求路径 | 说明 |
|---|---|---|---|
| 1 | 地址编码 | /v3/geocode/geo | 地址转坐标 |
| 2 | 逆地址编码 | /v3/geocode/regeo | 坐标转地址 |
| 3 | 关键词查询 | /v3/place/text | POI关键词搜索 |
| 4 | 周边查询 | /v3/place/around | POI周边搜索 |
| 5 | 多边形搜索 | /v3/place/polygon | POI多边形区域搜索 |
| 6 | ID查询 | /v3/place/detail | POI ID详情查询 |
| 7 | 输入提示 | /v3/assistant/inputtips | 搜索提示词 |
| 8 | 公交路线 | /v3/direction/transit/integrated | 公交路线规划 |
| 9 | 驾车路线 | /v3/direction/driving | 驾车路线规划 |
| 10 | 步行路线 | /v3/direction/walking | 步行路线规划 |
| 11 | 距离测算 | /v3/distance | 距离测量 |
| 12 | 行政区域搜索 | /v3/config/district | 行政区划查询 |
| 13 | ip定位 | /v3/ip | IP地址定位 |
| 14 | 坐标转化 | /v3/assistant/coordinate/convert | 坐标系转换 |
| 15 | 静态图 | /v3/staticmap | 静态地图图片 |
| 16 | 天气 | /v3/weather/weatherInfo | 天气查询 |
| 17 | 交通态势 | /v3/traffic/status/circle | 圆形区域交通态势 |
| 18 | 交通态势矩形 | /v3/traffic/status/rectangle | 矩形区域交通态势 |
| 19 | 交通态势道路 | /v3/traffic/status/road | 道路交通态势 |
| 20 | 骑行路线规划 | /v5/direction/bicycling | 骑行路线(路径规划2.0) |
| 21 | 电动车路线规划 | /v5/direction/electrobike | 电动车路线(路径规划2.0) |
| 22 | 货车路线规划 | /v5/direction/truck | 货车路线(路径规划2.0,需配额) |
| 23 | 智能硬件定位 | /v5/position/IoT | 基站/WiFi 设备定位(POST,2.0) |
| 24 | 智能硬件定位(1.0) | /v1/position | 基站/WiFi 设备定位(GET,对LTE/广电更友好) |
地址编码
将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标。
请求 URL
https://stmappro.cn/access/v3/geocode/geo?key=你的ClientKey&address=地址&city=城市
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统分配的Key |
address | 结构化地址 | 必填 | 规则:省+市+区+街道+门牌号 |
city | 指定城市 | 选填 | 可选,避免多城市同名地址 |
batch | 批量查询 | 选填 | true 时最多10条地址,用 | 分隔 |
请求示例
https://stmappro.cn/access/v3/geocode/geo?key=你的ClientKey&address=上海市浦东新区陆家嘴
返回示例
{
"status": "1",
"info": "OK",
"infocode": "10000",
"count": "1",
"geocodes": [
{
"formatted_address": "上海市浦东新区陆家嘴",
"country": "中国",
"province": "上海市",
"city": "上海市",
"district": "浦东新区",
"location": "121.506674,31.241581",
"level": "兴趣点"
}
]
}
返回字段说明
| 字段 | 说明 |
|---|---|
status | 1=成功,0=失败 |
location | 经纬度坐标,格式:经度,纬度(GCJ02坐标系) |
level | 匹配级别:省/市/区/街道/兴趣点 |
formatted_address | 格式化后的完整地址 |
逆地址编码
将经纬度坐标转化为结构化地址。
请求 URL
https://stmappro.cn/access/v3/geocode/regeo?key=你的ClientKey&location=经度,纬度
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
location | 坐标 | 必填 | 格式:经度,纬度(GCJ02) |
poitype | POI类型 | 选填 | 返回附近POI,多个用 | 分隔 |
radius | 搜索半径 | 选填 | 单位:米,默认1000 |
extensions | 返回内容 | 选填 | base(默认)/ all(含POI) |
请求示例
https://stmappro.cn/access/v3/geocode/regeo?key=你的ClientKey&location=121.506674,31.241581
返回示例
{
"status": "1",
"info": "OK",
"regeocode": {
"formatted_address": "上海市浦东新区陆家嘴",
"addressComponent": {
"province": "上海市",
"city": "上海市",
"district": "浦东新区",
"adcode": "310115"
}
}
}
关键词查询
用关键词搜索 POI(兴趣点)信息。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
keywords | 关键字 | 必填* | *与 type 二选一 |
types | POI类型 | 必填* | 类型编码,多个用 | 分隔 |
city | 城市 | 选填 | 限定查询城市 |
citylimit | 仅返回城市数据 | 选填 | true/false |
offset | 每页条数 | 选填 | 默认20,最大25 |
page | 页码 | 选填 | 默认1 |
extensions | 返回内容 | 选填 | base(默认)/ all |
请求示例
https://stmappro.cn/access/v3/place/text?key=你的ClientKey&keywords=星巴克&city=上海&offset=10
周边查询
在指定坐标周围搜索 POI。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
location | 中心坐标 | 必填 | 经度,纬度 |
keywords | 关键字 | 必填* | *与 types 二选一 |
types | POI类型 | 选填 | |
radius | 搜索半径 | 选填 | 米,默认3000 |
sortrule | 排序规则 | 选填 | distance(默认)/ weight |
offset | 每页条数 | 选填 | 默认20,最大25 |
请求示例
https://stmappro.cn/access/v3/place/around?key=你的ClientKey&location=121.506674,31.241581&keywords=餐厅&radius=1000
多边形搜索
在多边形区域内搜索 POI,适用于电子围栏、区域统计等场景。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
polygon | 多边形坐标 | 必填 | 经纬度对,用 | 分隔点,点之间用 , 分隔经纬度。最少3个点 |
keywords | 关键字 | 必填* | *与 types 二选一 |
types | POI类型 | 选填 | |
offset | 每页条数 | 选填 | 默认20,最大25 |
page | 页码 | 选填 | 默认1 |
请求示例
https://stmappro.cn/access/v3/place/polygon?key=你的ClientKey&polygon=121.47,31.23|121.51,31.23|121.51,31.25|121.47,31.25&keywords=餐厅
ID查询
通过 POI ID 查询兴趣点详细信息。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
id | POI ID | 必填 | 通过关键词/周边/多边形搜索获取 |
extensions | 返回内容 | 选填 | base / all(含详细信息) |
请求示例
https://stmappro.cn/access/v3/place/detail?key=你的ClientKey&id=B0FFFAGXSV&extensions=all
输入提示
提供输入提示建议,用于搜索框自动补全。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
keywords | 关键字 | 必填 | 用户输入内容 |
city | 城市 | 选填 | 限定提示城市 |
datatype | 数据类型 | 选填 | poi/road/bus(默认all) |
请求示例
https://stmappro.cn/access/v3/assistant/inputtips?key=你的ClientKey&keywords=星巴克&city=上海
驾车路线
规划驾车出行路线,支持多途经点、避开拥堵等策略。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origin | 起点坐标 | 必填 | 经度,纬度 |
destination | 终点坐标 | 必填 | 经度,纬度 |
waypoints | 途经点 | 选填 | 多个用 ; 分隔,最多16个 |
strategy | 策略 | 选填 | 0=最快,2=距离最短,等 |
extensions | 返回内容 | 选填 | base / all(含详细步骤) |
请求示例
https://stmappro.cn/access/v3/direction/driving?key=你的ClientKey&origin=121.4737,31.2304&destination=121.5067,31.2416&strategy=0&extensions=all
步行路线
规划步行出行路线,支持步行导航。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origin | 起点坐标 | 必填 | 经度,纬度 |
destination | 终点坐标 | 必填 | 经度,纬度 |
请求示例
https://stmappro.cn/access/v3/direction/walking?key=你的ClientKey&origin=121.4737,31.2304&destination=121.5067,31.2416
公交路线
规划公交、地铁等公共交通出行路线。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origin | 起点坐标 | 必填 | 经度,纬度 |
destination | 终点坐标 | 必填 | 经度,纬度 |
city | 起点城市 | 必填 | 城市名或 adcode |
cityd | 终点城市 | 必填 | 跨城时必填 |
strategy | 策略 | 选填 | 0=最快,1=最经济,2=最少换乘,等 |
请求示例
https://stmappro.cn/access/v3/direction/transit/integrated?key=你的ClientKey&origin=121.4737,31.2304&destination=121.5067,31.2416&city=上海
高德路线规划(v5 / 路径规划2.0)
路径规划 2.0(对应官方 /v5/direction/{mode}),与上文的经典版 /v3/direction/*并存;v5 是新一代接口,支持多备选路线、途经点等更丰富能力。本节覆盖系统新增的 骑行 / 电动车 / 货车三种模式(驾车/步行/公交仍使用 v3,见上文各小节)。
请求 URL
https://stmappro.cn/access/v5/direction/bicycling?key=你的ClientKey&origin=116.434307,39.90909&destination=116.434446,39.90816
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origin | 起点坐标 | 必填 | 经度,纬度(lng,lat) |
destination | 终点坐标 | 必填 | 经度,纬度(lng,lat) |
show_fields | 返回字段 | 选填 | v5 新增,如 cost,navigation |
请求示例
https://stmappro.cn/access/v5/direction/electrobike?key=你的ClientKey&origin=116.434307,39.90909&destination=116.434446,39.90816
参数与骑行一致:key / origin / destination必填,show_fields选填。
请求 URL
https://stmappro.cn/access/v5/direction/truck?key=你的ClientKey&origin=116.434307,39.90909&destination=116.434446,39.90816&size=2
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origin | 起点坐标 | 必填 | 经度,纬度(lng,lat) |
destination | 终点坐标 | 必填 | 经度,纬度(lng,lat) |
size | 车辆大小 | 必填 | 1=微型,2=轻型,3=中型,4=重型 |
weight | 载重(吨) | 选填 | 货车载重 |
show_fields | 返回字段 | 选填 | 如 cost,navigation |
JS API(浏览器端·Plan Y 浏览器直联)
百度浏览器端 AK 通过 /access/baidu/jsapi/load加载 SDK 后,路线规划等能力由浏览器直联百度官方完成,系统不提供独立的 /access/baidu/jsapi/direction/...端点。请在加载 SDK 后使用官方 BMap对象(如 BMap.DrivingRoute、BMap.WalkingRoute等)调用,或改用「Plan X 服务端代理」方案走 /access/baidu/directionlite/v1/... REST 接口。
// 参考(Plan X 服务端代理 REST 端点,使用服务端 AK 客户 Key)
// /access/baidu/directionlite/v1/riding?key=你的服务端客户Key&origin=116.434307,39.90909&destination=116.434446,39.90816
// /access/baidu/directionlite/v1/electrobike?key=你的服务端客户Key&origin=116.434307,39.90909&destination=116.434446,39.90816
// /access/baidu/directionlite/v1/truck?key=你的服务端客户Key&origin=116.434307,39.90909&destination=116.434446,39.90816&size=2
距离测算
测量两点之间的行驶距离,支持驾车、步行、骑行。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origins | 起点坐标 | 必填 | 多个用 | 分隔 |
destination | 终点坐标 | 必填 | 经度,纬度 |
type | 距离类型 | 选填 | 0=直线,1=驾车,3=步行 |
请求示例
https://stmappro.cn/access/v3/distance?key=你的ClientKey&origins=121.4737,31.2304&destination=121.5067,31.2416&type=1
行政区域搜索
查询行政区划信息,支持省市区三级数据。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
keywords | 关键字 | 必填* | *与 adcode 二选一 |
subdistrict | 下级层级 | 选填 | 0/1/2/3,默认1 |
extensions | 返回内容 | 选填 | base / all(含边界坐标) |
请求示例
https://stmappro.cn/access/v3/config/district?key=你的ClientKey&keywords=上海&subdistrict=2
天气
查询指定城市的天气,包括实况和未来预报。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
city | 城市 | 必填 | 城市名或 adcode |
extensions | 返回类型 | 选填 | base=实况,all=预报 |
请求示例
https://stmappro.cn/access/v3/weather/weatherInfo?key=你的ClientKey&city=310115&extensions=all
ip定位
根据 IP 地址返回定位信息。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
ip | IP地址 | 选填 | 不填则取请求者IP |
请求示例
https://stmappro.cn/access/v3/ip?key=你的ClientKey&ip=114.114.114.114
坐标转化
将 GPS/百度/Mapbar 坐标转化为官方坐标(GCJ02)。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
locations | 坐标 | 必填 | 经度,纬度,多个用 | 分隔 |
coordsys | 源坐标系 | 必填 | gps/baidu/mapbar |
请求示例
https://stmappro.cn/access/v3/assistant/coordinate/convert?key=你的ClientKey&locations=116.481499,39.990475&coordsys=gps
静态图
生成静态地图图片,可直接作为 img 标签的 src。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
location | 中心坐标 | 必填 | 经度,纬度 |
zoom | 缩放级别 | 选填 | 1-17,默认15 |
size | 图片尺寸 | 选填 | 宽*高,默认400*400 |
markers | 标注点 | 选填 | 标注参数 |
请求示例
<img src="https://stmappro.cn/access/v3/staticmap?key=你的ClientKey&location=121.5067,31.2416&zoom=15&size=600*400" />
交通态势
查询指定区域的交通拥堵情况,支持圆形区域、矩形区域和指定道路三种查询方式。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
location | 中心坐标 | 必填 | 经度,纬度 |
radius | 半径 | 必填 | 单位:米 |
level | 道路等级 | 选填 | 1-5,默认5 |
https://stmappro.cn/access/v3/traffic/status/circle?key=你的ClientKey&location=121.4737,31.2304&radius=1000
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
rectangle | 矩形区域 | 必填 | 左下角经纬度,右上角经纬度 |
level | 道路等级 | 选填 | 1-5,默认5 |
https://stmappro.cn/access/v3/traffic/status/rectangle?key=你的ClientKey&rectangle=121.47,31.23,121.51,31.25
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
name | 道路名称 | 必填 | 支持模糊匹配 |
city | 城市 | 必填 | 城市名或 adcode |
level | 道路等级 | 选填 | 1-5,默认5 |
https://stmappro.cn/access/v3/traffic/status/road?key=你的ClientKey&name=世纪大道&city=上海
智能硬件定位(高德)
基于基站、WiFi 等环境信息为智能硬件设备(无 GPS 或弱 GPS 信号)估算地理位置,对应官方 v5/position/IoT。需 Web 服务 Key鉴权,资源池 Key 需在高德开放平台开通「智能硬件定位(IoT)」服务。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 通过 Query 传递,系统自动替换为资源池 Key |
accesstype | 定位类型 | 必填 | 1=基站定位,2=WiFi定位,3=混合定位 |
cdma | 网络制式 | 选填 | 0=GSM,1=CDMA |
bts | 主基站信息 | 选填 | 格式 MCC,MNC,LAC,CellID,Signal,多个用 |分隔 |
nearbts | 周边基站 | 选填 | 同上格式,多个用 |分隔 |
wifi | WiFi 信息 | 选填 | MAC 与信号强度,多个用 |分隔 |
请求体以 application/x-www-form-urlencoded编码(参数也可直接放入 Query)。
请求示例
curl -X POST "https://stmappro.cn/access/v5/position/IoT?key=你的ClientKey" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "accesstype=1&cdma=0&bts=460,0,9362,4593,20"
智能硬件定位 1.0(高德)
高德智能硬件定位 1.0 版本(旧版),对应官方 apilocate.amap.com/position。与 2.0(/v5/position/IoT)相比:使用 GET请求、基站字段为五元组(无 cage)、对 LTE/广电等基站制式的覆盖通常更广。当 2.0 因 network枚举不含 LTE 等原因无法定位时,可改用本接口。需 Web 服务 Key鉴权,资源池 Key 需在高德开放平台开通「智能硬件定位(geolocation)」服务。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 通过 Query 传递,系统自动替换为资源池 Key |
accesstype | 接入方式 | 必填 | 0=移动网络(基站),1=WiFi 网络 |
cdma | 是否 CDMA | 选填 | 0=非 CDMA,1=CDMA(accesstype=0 时建议填) |
bts | 主基站信息 | 选填 | 非 CDMA 格式 MCC,MNC,LAC,CellID,Signal(五元组,无 cage);多个用 |分隔 |
macs | WiFi 列表 | 选填 | 格式 MAC,Signal,SSID,多条用 |分隔,至少 2 条(accesstype=1 时使用) |
nearbts | 周边基站 | 选填 | 同 bts 格式,多个用 |分隔 |
imei | 设备 IMEI | 选填 | 用于排查,建议填写 |
所有参数通过 Query 传递(GET 请求),响应为 JSON(默认)。成功时 result.location返回 经度,纬度。
请求示例(基站定位)
curl -G "https://stmappro.cn/access/v1/position?key=你的ClientKey" \
--data-urlencode "accesstype=0" \
--data-urlencode "cdma=0" \
--data-urlencode "bts=460,0,31056,25896412,-78" \
--data-urlencode "imei=869115123456789"
请求示例(WiFi 定位,推荐)
curl -G "https://stmappro.cn/access/v1/position?key=你的ClientKey" \
--data-urlencode "accesstype=1" \
--data-urlencode "imei=869115123456789" \
--data-urlencode "macs=4c:48:da:25:0b:11,-59,MyWiFi|4c:48:da:25:1a:11,-77,MyWiFi"
高德 JS API 接口
JS API 接口适用于浏览器端通过官方 JS SDK 调用,统一入口为 /access/jsapi/load(加载后会注入 serviceHost 代理),使用 JS API Key鉴权。
接口总览(23 个)
| # | 接口名称 | 官方接口 | 系统代理路径(SDK 经 serviceHost 自动调用) | 说明 |
|---|---|---|---|---|
| — | JS SDK 加载入口 | webapi.amap.com/maps | /access/jsapi/load?key=你的JSAPI_Key | 加载 SDK 并注入 serviceHost,后续数据请求自动走系统代理 |
| 1 | 地址编码 | /v3/geocode/geo | /access/_AMapService/你的JSAPI_Key/v3/geocode/geo | 地址转坐标 |
| 2 | 逆地址编码 | /v3/geocode/regeo | /access/_AMapService/你的JSAPI_Key/v3/geocode/regeo | 坐标转地址 |
| 3 | 搜索服务-关键词查询 | /v3/place/text | /access/_AMapService/你的JSAPI_Key/v3/place/text | POI关键词搜索 |
| 4 | 搜索服务-周边查询 | /v3/place/around | /access/_AMapService/你的JSAPI_Key/v3/place/around | POI周边搜索 |
| 5 | 搜索服务-多边形查询 | /v3/place/polygon | /access/_AMapService/你的JSAPI_Key/v3/place/polygon | POI多边形搜索 |
| 6 | 搜索服务-ID查询 | /v3/place/detail | /access/_AMapService/你的JSAPI_Key/v3/place/detail | POI ID查询 |
| 7 | 输入提示 | /v3/assistant/inputtips | /access/_AMapService/你的JSAPI_Key/v3/assistant/inputtips | 搜索提示词 |
| 8 | 公交路线 | /v3/direction/transit/integrated | /access/_AMapService/你的JSAPI_Key/v3/direction/transit/integrated | 公交路线规划 |
| 9 | 驾车路线 | /v3/direction/driving | /access/_AMapService/你的JSAPI_Key/v3/direction/driving | 驾车路线规划 |
| 10 | 步行路线 | /v3/direction/walking | /access/_AMapService/你的JSAPI_Key/v3/direction/walking | 步行路线规划 |
| 11 | 距离测算 | /v3/distance | /access/_AMapService/你的JSAPI_Key/v3/distance | 距离测量 |
| 12 | 天气 | /v3/weather/weatherInfo | /access/_AMapService/你的JSAPI_Key/v3/weather/weatherInfo | 天气查询 |
| 13 | 行政区域搜索 | /v3/config/district | /access/_AMapService/你的JSAPI_Key/v3/config/district | 行政区划查询 |
| 14 | 坐标转化 | /v3/assistant/coordinate/convert | /access/_AMapService/你的JSAPI_Key/v3/assistant/coordinate/convert | 坐标系转换 |
| 15 | 静态图 | /v3/staticmap | /access/_AMapService/你的JSAPI_Key/v3/staticmap | 静态地图图片 |
| 16 | ip定位 | /v3/ip | /access/_AMapService/你的JSAPI_Key/v3/ip | IP地址定位 |
| 17 | 交通态势 | /v3/traffic/status/circle | /access/_AMapService/你的JSAPI_Key/v3/traffic/status/circle | 圆形区域交通态势 |
| 18 | 骑行路线 | /v5/direction/bicycling | /access/_AMapService/你的JSAPI_Key/v5/direction/bicycling | JS API 骑行路线(路径规划2.0) |
| 19 | 电动车路线 | /v5/direction/electrobike | /access/_AMapService/你的JSAPI_Key/v5/direction/electrobike | JS API 电动车路线(路径规划2.0) |
| 20 | 货车路线 | /v5/direction/truck | /access/_AMapService/你的JSAPI_Key/v5/direction/truck | JS API 货车路线(路径规划2.0,需配额) |
JS SDK 加载
如果你的项目需要在浏览器中使用高德 JS SDK(如地图渲染、覆盖物、交互等),可以通过以下方式加载:
用途
通过系统加载高德 JS SDK(v2.0),并自动注入 window._AMapSecurityConfig.serviceHost。注入后,SDK 发起的全部数据请求(地理编码、POI 搜索、路线规划等)都会自动改走系统代理 /access/_AMapService/你的Key/...,由服务端注入官方 Key 与安全密钥后转发高德。
使用方式
<script src="https://stmappro.cn/access/jsapi/load?key=你的JSAPI_Key&plugins=AMap.Geocoder,AMap.Scale"></script>
<script>
var map = new AMap.Map('container', { zoom: 12, center: [116.397, 39.909], touchZoom: true, doubleClickZoom: true });
// Geocoder 等插件的请求自动经系统代理转发,无需任何额外配置
var geocoder = new AMap.Geocoder();
geocoder.getLocation('北京市朝阳区阜通东大街6号', function(status, result) {
console.log(result.geocodes[0].location);
});
</script>
数据代理路由(SDK 自动调用,也可直接 HTTP 访问)
GET https://stmappro.cn/access/_AMapService/你的JSAPI_Key/v3/geocode/geo?address=北京市朝阳区
# 系统自动注入官方 JS Key + 安全密钥(jscode) 后转发 restapi.amap.com
JS API 接入方式
方式一:加载 SDK 后调用(推荐)
JS API 能力需在浏览器中加载系统代理的 JS SDK(/access/jsapi/load),然后像官方高德 JS API 一样使用 AMap对象。SDK 内部的数据请求会自动经 serviceHost 代理转发,无需手动拼接 REST URL。
// 1. 先加载 SDK(在 HTML 中引入,注意用 /access/jsapi/load 而非官方地址)
// <script src="https://stmappro.cn/access/jsapi/load?key=你的JSAPI_Key&plugins=AMap.Geocoder,AMap.PlaceSearch"></script>
// 2. 像官方一样使用 AMap 对象
const geocoder = new AMap.Geocoder();
geocoder.getLocation('上海市浦东新区', (status, result) => {
console.log(result.geocodes[0].location); // 经纬度
});
const placeSearch = new AMap.PlaceSearch({ city: '上海' });
placeSearch.search('星巴克', (status, result) => {
console.log(result.poiList.pois);
});
方式二:通过 SDK 调用
加载 JS SDK 后,SDK 内部会自动通过系统代理调用 REST API,调用方无需手动拼接 URL。
// 1. 加载 SDK(将官方地址替换为系统代理)
<script src="https://stmappro.cn/access/jsapi/load?key=你的JSAPI_Key"></script>
// 2. 使用 SDK
<script>
AMap.plugin('AMap.Geocoder', function() {
var geocoder = new AMap.Geocoder();
geocoder.getLocation('上海市浦东新区', function(status, result) {
console.log(result);
});
});
</script>
/jsapi/路径的接口。如果用 JS API Key 调用 /v3/路径的接口会返回 403错误,反之亦然。
JS API 接口详情
JS API 能力对应下方的官方 Web 服务接口,参数说明请点击链接查看。实际调用由浏览器通过加载的 JS SDK(/access/jsapi/load)发起,数据请求自动经 /access/_AMapService/你的JSAPI_Key/...代理转发,无需手动拼 REST URL。
以下是每个 JS API 接口对应的 Web 服务接口文档,参数说明请点击链接查看:
| 系统代理路径(SDK 自动调用) | 对应官方 Web 服务 | 参数文档 |
|---|---|---|
| /access/_AMapService/你的JSAPI_Key/v3/geocode/geo | /v3/geocode/geo | 地址编码 |
| /access/_AMapService/你的JSAPI_Key/v3/geocode/regeo | /v3/geocode/regeo | 逆地址编码 |
| /access/_AMapService/你的JSAPI_Key/v3/place/text | /v3/place/text | 关键词查询 |
| /access/_AMapService/你的JSAPI_Key/v3/place/around | /v3/place/around | 周边查询 |
| /access/_AMapService/你的JSAPI_Key/v3/place/polygon | /v3/place/polygon | 多边形搜索 |
| /access/_AMapService/你的JSAPI_Key/v3/place/detail | /v3/place/detail | ID查询 |
| /access/_AMapService/你的JSAPI_Key/v3/assistant/inputtips | /v3/assistant/inputtips | 输入提示 |
| /access/_AMapService/你的JSAPI_Key/v3/direction/transit/integrated | /v3/direction/transit/integrated | 公交路线 |
| /access/_AMapService/你的JSAPI_Key/v3/direction/driving | /v3/direction/driving | 驾车路线 |
| /access/_AMapService/你的JSAPI_Key/v3/direction/walking | /v3/direction/walking | 步行路线 |
| /access/_AMapService/你的JSAPI_Key/v3/distance | /v3/distance | 距离测算 |
| /access/_AMapService/你的JSAPI_Key/v3/weather/weatherInfo | /v3/weather/weatherInfo | 天气 |
| /access/_AMapService/你的JSAPI_Key/v3/config/district | /v3/config/district | 行政区域搜索 |
| /access/_AMapService/你的JSAPI_Key/v3/assistant/coordinate/convert | /v3/assistant/coordinate/convert | 坐标转化 |
| /access/_AMapService/你的JSAPI_Key/v3/staticmap | /v3/staticmap | 静态图 |
| /access/_AMapService/你的JSAPI_Key/v3/ip | /v3/ip | ip定位 |
| /access/_AMapService/你的JSAPI_Key/v3/traffic/status/circle | /v3/traffic/status/circle | 交通态势 |
调用示例
// 以下均在已加载 /access/jsapi/load 的页面中,用官方 AMap 对象调用
// 地址编码
const geocoder = new AMap.Geocoder();
geocoder.getLocation('上海市浦东新区', (status, result) => {
console.log(result.geocodes[0].location);
});
// 周边搜索
const placeSearch = new AMap.PlaceSearch();
placeSearch.searchNearBy('餐厅', [121.5067, 31.2416], 1000, (status, result) => {
console.log(result.poiList.pois);
});
// 驾车路线
const driving = new AMap.Driving();
driving.search(new AMap.LngLat(121.4737, 31.2304), new AMap.LngLat(121.5067, 31.2416), (status, result) => {
console.log(result.routes[0]);
});
百度地图 Web 服务 API
百度地图 Web 服务 API 为服务端 HTTP 接口,使用 服务端 AK(Web 服务 Key)鉴权。调用方式与高德一致:只需把路径前缀从 /access/v3/...换成 /access/baidu/...,其余(Client Key 鉴权、参数、返回格式)完全一致。
- 地理编码(地址坐标)返回的
location为{ lng, lat }(经度,纬度); - 逆地理编码、路线规划、静态图、交通态势等接口的
location/origin/destination/center参数则为纬度,经度(lat,lng)顺序,与高德相反; - 坐标系互转请使用 坐标转换接口。
ak参数与 output=json,调用方无需手动传 ak;若服务端 AK 开启了「SN 校验」,只需在后台配置 SK,系统会自动计算并附加 sn签名。
接口总览(22 个)
| # | 接口名称 | 请求路径 | 说明 |
|---|---|---|---|
| 1 | 地理编码 | /baidu/geocoding/v3 | 地址转坐标 |
| 2 | 逆地理编码 | /baidu/reverse_geocoding/v3 | 坐标转地址 |
| 3 | 地点搜索 | /baidu/place/v2/search | POI 关键词/周边/区域搜索 |
| 4 | 地点详情 | /baidu/place/v2/detail | POI 详情查询 |
| 5 | 驾车路线规划 | /baidu/directionlite/v1/driving | 驾车路径规划(轻量版) |
| 6 | 公交路线规划 | /baidu/directionlite/v1/transit | 公交路径规划(轻量版) |
| 7 | 步行路线规划 | /baidu/directionlite/v1/walking | 步行路径规划(轻量版) |
| 8 | 骑行路线规划 | /baidu/directionlite/v1/riding | 骑行路径规划(轻量版) |
| 9 | IP 定位 | /baidu/location/ip | IP 地址定位 |
| 10 | 坐标转换 | /baidu/geoconv/v1 | 坐标系转换 |
| 11 | 天气查询 | /baidu/weather/v1 | 天气预报 |
| 12 | 静态地图 | /baidu/staticimage/v2 | 静态地图图片 |
| 13 | 交通态势 | /baidu/traffic/v1/road | 道路交通态势 |
| 14 | 地点输入提示 | /baidu/place/v2/suggestion | POI 输入提示(Place Suggestion) |
| 15 | 行政区划查询 | /baidu/api_region_search/v1/ | 行政区划区域检索(省/市/区) |
| 16 | 批量算路 | /baidu/routematrix/v2/driving | 时间距离矩阵(多起点多终点) |
| 17 | 路线规划(驾车 v2) | /baidu/direction/v2/driving | 驾车路线规划(完整版 v2) |
| 18 | 路线规划(公交 v2) | /baidu/direction/v2/transit | 公交路线规划(完整版 v2) |
| 19 | 路线规划(步行 v2) | /baidu/direction/v2/walking | 步行路线规划(完整版 v2) |
| 20 | 路线规划(骑行 v2) | /baidu/direction/v2/riding | 骑行路线规划(完整版 v2) |
| 21 | 路线规划(货车 v2) | /baidu/direction/v2/truck | 货车路线规划(完整版 v2) |
| 22 | 智能硬件定位 | /baidu/locapi/v2 | 基站/WiFi 设备定位(POST) |
百度地理编码
将详细的结构化地址转换为百度坐标(BD-09)。
请求 URL
https://stmappro.cn/access/baidu/geocoding/v3?key=你的ClientKey&address=北京市海淀区中关村&city=北京&output=json
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统分配的 Key |
address | 结构化地址 | 必填 | 省+市+区+街道+门牌号 |
city | 指定城市 | 选填 | 避免多城市同名地址 |
ret_coordtype | 返回坐标类型 | 选填 | 默认 bd09ll;gcj02ll 等 |
output | 返回格式 | 选填 | 默认 json(系统已默认附加) |
请求示例
https://stmappro.cn/access/baidu/geocoding/v3?key=你的ClientKey&address=北京市海淀区中关村&city=北京
返回示例
{
"status": 0,
"result": {
"location": { "lng": 116.310924, "lat": 39.98313 },
"precise": 1,
"confidence": 80,
"comprehension": 100,
"level": "商务大厦"
}
}
返回字段说明
| 字段 | 说明 |
|---|---|
status | 0=成功,非 0=失败(见 message) |
result.location | BD-09 坐标,lng=经度,lat=纬度 |
result.level | 匹配级别(如 商务大厦) |
百度逆地理编码
将百度坐标(BD-09)转化为结构化地址。
请求 URL
https://stmappro.cn/access/baidu/reverse_geocoding/v3?key=你的ClientKey&location=39.98313,116.310924&output=json
location参数为 纬度,经度(lat,lng),与高德(经度,纬度)相反。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
location | 坐标 | 必填 | 纬度,经度(lat,lng),BD-09 |
coordtype | 输入坐标类型 | 选填 | 默认 bd09ll |
extensions_poi | 返回 POI | 选填 | 1 时返回周边 POI |
请求示例
https://stmappro.cn/access/baidu/reverse_geocoding/v3?key=你的ClientKey&location=39.98313,116.310924
返回示例
{
"status": 0,
"result": {
"location": { "lng": 116.310924, "lat": 39.98313 },
"formatted_address": "北京市海淀区中关村",
"addressComponent": {
"country": "中国", "province": "北京市", "city": "北京市",
"district": "海淀区", "street": "中关村大街"
},
"pois": [ { "name": "中关村鼎好大厦", "point": { "x": 116.31, "y": 39.98 } } ]
}
}
百度地点搜索
POI 搜索:支持关键词搜索、周边搜索、区域搜索(对应官方 place/v2/search)。
请求 URL
https://stmappro.cn/access/baidu/place/v2/search?key=你的ClientKey&query=星巴克®ion=北京&city_limit=true&output=json
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
query | 关键词 | 必填 | 搜索词,如「星巴克」 |
region | 区域 | 必填 | 城市名(如 北京)或「全国」 |
city_limit | 限定城市 | 选填 | true 时仅在 region 内搜索 |
location + radius | 周边搜索 | 选填 | 纬度,经度 + 半径(米),做周边搜索 |
output | 返回格式 | 选填 | 默认 json |
请求示例
# 关键词搜索
https://stmappro.cn/access/baidu/place/v2/search?key=你的ClientKey&query=星巴克®ion=北京
# 周边搜索(纬度,经度)
https://stmappro.cn/access/baidu/place/v2/search?key=你的ClientKey&query=餐厅&location=39.98313,116.310924&radius=1000
返回示例
{
"status": 0,
"message": "ok",
"results": [
{
"name": "星巴克(中关村店)",
"location": { "lng": 116.316, "lat": 39.984 },
"address": "北京市海淀区中关村大街",
"uid": "xxxxx"
}
]
}
location同样是 纬度,经度(lat,lng)。POI 详情请用 /baidu/place/v2/detail?uid=...。百度路线规划
轻量路线规划(对应官方 directionlite/v1/{mode}),支持驾车 / 公交 / 步行 / 骑行四种模式。
请求 URL
https://stmappro.cn/access/baidu/directionlite/v1/driving?key=你的ClientKey&origin=39.98313,116.310924&destination=39.915,116.404&output=json
origin / destination均为 纬度,经度(lat,lng),与高德相反。请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origin | 起点 | 必填 | 纬度,经度(lat,lng) |
destination | 终点 | 必填 | 纬度,经度(lat,lng) |
coord_type | 坐标类型 | 选填 | 默认 bd09ll |
tactics | 偏好策略 | 选填 | 如 驾车 10/11/12 等 |
请求示例
# 驾车
https://stmappro.cn/access/baidu/directionlite/v1/driving?key=你的ClientKey&origin=39.98313,116.310924&destination=39.915,116.404
# 公交
https://stmappro.cn/access/baidu/directionlite/v1/transit?key=你的ClientKey&origin=39.98313,116.310924&destination=39.915,116.404&city=北京
# 步行 / 骑行:把路径改为 /directionlite/v1/walking 或 /directionlite/v1/riding
返回示例
{
"status": 0,
"result": {
"routes": [
{ "distance": 12345, "duration": 1800, "steps": [ { "instruction": "向西出发", "distance": 200 } ] }
]
}
}
百度路线规划(完整版 v2)
完整版路线规划(对应官方 direction/v2/{mode}),与上文的轻量版 directionlite/v1/{mode}并存;完整版支持更多参数(如途经点、偏好、货车参数等),返回结构也更丰富。支持 驾车 / 公交 / 步行 / 骑行 / 货车 五种模式。
请求 URL
https://stmappro.cn/access/baidu/direction/v2/driving?key=你的ClientKey&origin=39.98313,116.310924&destination=39.915,116.404&output=json
origin / destination均为 纬度,经度(lat,lng),与高德相反。请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
origin | 起点 | 必填 | 纬度,经度(lat,lng) |
destination | 终点 | 必填 | 纬度,经度(lat,lng) |
coord_type | 坐标类型 | 选填 | 默认 bd09ll |
tactics | 偏好策略 | 选填 | 如 驾车 10/11/12 等 |
请求示例
# 驾车(完整版 v2)
https://stmappro.cn/access/baidu/direction/v2/driving?key=你的ClientKey&origin=39.98313,116.310924&destination=39.915,116.404
# 公交
https://stmappro.cn/access/baidu/direction/v2/transit?key=你的ClientKey&origin=39.98313,116.310924&destination=39.915,116.404&city=北京
# 步行 / 骑行 / 货车:把路径改为 /direction/v2/walking、/direction/v2/riding、/direction/v2/truck
百度坐标转换
在不同坐标系之间互转(对应官方 geoconv/v1)。
请求 URL
https://stmappro.cn/access/baidu/geoconv/v1?key=你的ClientKey&coords=116.404,39.915&from=3&to=5&output=json
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
coords | 坐标 | 必填 | 经度,纬度;多个用 ;分隔 |
from | 源坐标系 | 必填 | 1=WGS84(GPS),3=GCJ02(国测局/高德),5=BD09ll(百度) |
to | 目标坐标系 | 必填 | 同上 |
output | 返回格式 | 选填 | 默认 json |
请求示例
# 高德(GCJ02) 百度(BD09ll)
https://stmappro.cn/access/baidu/geoconv/v1?key=你的ClientKey&coords=116.404,39.915&from=3&to=5
返回示例
{ "status": 0, "result": [ { "x": 116.410, "y": 39.921 } ] }
coords用 经度,纬度顺序;结果 x=经度,y=纬度。百度天气查询
查询指定区县的实况或预报天气(对应官方 weather/v1)。
请求 URL
https://stmappro.cn/access/baidu/weather/v1?key=你的ClientKey&district_id=110101&data_type=now&output=json
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
district_id | 区县代码 | 必填 | 百度区县代码,如 110101(北京东城) |
data_type | 数据类型 | 必填 | now=实况,fc=预报,all=全部 |
output | 返回格式 | 选填 | 默认 json |
请求示例
https://stmappro.cn/access/baidu/weather/v1?key=你的ClientKey&district_id=110101&data_type=now
返回示例
{
"status": 0,
"result": {
"location": { "id": "110101", "name": "东城区" },
"now": { "text": "晴", "temp": 25, "feels_like": 24, "rh": 40, "wind_dir": "北风", "wind_class": "2级" }
}
}
百度静态图
生成静态地图图片,可直接作为 <img>的 src(对应官方 staticimage/v2)。
请求 URL
https://stmappro.cn/access/baidu/staticimage/v2?key=你的ClientKey¢er=116.404,39.915&zoom=15&width=400&height=300&markers=116.404,39.915&output=json
center与 markers用 经度,纬度(lng,lat)顺序(与路线规划等相反)。请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
center | 中心点 | 必填 | 经度,纬度(lng,lat) |
zoom | 缩放级别 | 必填 | 1-21 |
width / height | 图片尺寸 | 必填 | 单位:像素 |
markers | 标注点 | 选填 | 经度,纬度;多个用 |分隔 |
output | 返回格式 | 选填 | 默认 json |
请求示例
https://stmappro.cn/access/baidu/staticimage/v2?key=你的ClientKey¢er=116.404,39.915&zoom=15&width=400&height=300
百度交通态势
查询指定道路的实时交通态势(对应官方 traffic/v1/road)。
请求 URL
https://stmappro.cn/access/baidu/traffic/v1/road?key=你的ClientKey&road_name=中关村大街&city=北京&output=json
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
road_name | 道路名 | 必填 | 如 中关村大街 |
city | 城市 | 必填 | 道路所在城市 |
center | 中心点 | 选填 | 经度,纬度(lng,lat),提升匹配精度 |
radius | 半径 | 选填 | 单位:米 |
请求示例
https://stmappro.cn/access/baidu/traffic/v1/road?key=你的ClientKey&road_name=中关村大街&city=北京
返回示例
{
"status": 0,
"description": "拥堵",
"evaluation": { "status": 2, "expedite": 0.1, "congested": 0.6, "blocked": 0.3 },
"road_traffic": [ { "road_name": "中关村大街", "status": 2 } ]
}
百度 IP 定位
根据 IP 地址定位到所属区域(对应官方 location/ip)。
请求 URL
https://stmappro.cn/access/baidu/location/ip?key=你的ClientKey&ip=114.114.114.114&output=json
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | |
ip | IP 地址 | 选填 | 默认取请求方 IP |
coor | 返回坐标 | 选填 | 默认 bd09ll |
请求示例
https://stmappro.cn/access/baidu/location/ip?key=你的ClientKey&ip=114.114.114.114
返回示例
{
"status": 0,
"content": {
"address": "北京市",
"point": { "x": 116.40, "y": 39.90 },
"address_detail": { "province": "北京市", "city": "北京市", "district": "海淀区" }
}
}
智能硬件定位(百度)
基于基站、WiFi 为智能硬件设备定位,对应官方 locapi/v2。需 Web 服务 Key鉴权,资源池 Key 需在百度开发平台开通「智能硬件定位(loc)」服务。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 通过 Query 传递,系统自动替换为资源池 AK 并注入请求体 |
cellinfo | 基站信息 | 选填 | 数组,每项含 cid / lac / mnc / sid |
wifiinfo | WiFi 信息 | 选填 | 数组,每项含 mac / rssi |
gpsinfo | GPS 信息 | 选填 | 经纬度等 |
ip | 设备 IP | 选填 | 公网 IP |
请求体以 application/json编码,key由系统自动注入请求体(调用方无需在 body 中传 key)。
请求示例
curl -X POST "https://stmappro.cn/access/baidu/locapi/v2?key=你的ClientKey" \
-H "Content-Type: application/json" \
-d '{"cellinfo":[{"cid":"4593","lac":"9362","mnc":"0","sid":"460"}],"wifiinfo":[{"mac":"aa:bb:cc:dd:ee:ff","rssi":"-50"}]}'
百度地图 JS API
百度地图 JavaScript API(GL 版)用于浏览器端加载地图、渲染覆盖物与交互,使用 浏览器端 AK(JS API Key)鉴权。调用路径前缀为 /access/baidu/jsapi/。
Plan Y · 浏览器直联(平台=浏览器端):客户网页通过
/access/baidu/jsapi/load从系统鉴权加载 SDK,之后地图渲染与 JS 服务调用由浏览器直联百度,消耗浏览器端 AK 额度。适合网页地图展示、前端交互场景。此方案 Key 不能调用服务端 REST 接口(返回 403)。
Plan X · 服务端代理(平台=服务端):全部 REST 数据请求经系统服务端转发,百度只见系统服务器 IP,消耗服务端 AK 额度。适合后端批量数据处理场景。此方案 Key 不能加载浏览器端 JS SDK(返回 403)。
接口总览(20 个)
| # | 接口名称 | 百度官方接口 | 系统说明 | 说明 |
|---|---|---|---|---|
| — | JS API 加载入口(Plan Y) | api.map.baidu.com/api | /access/baidu/jsapi/load?key=你的PlanY客户Key | 系统鉴权计数后返回 SDK,后续浏览器直联百度 |
| 1 | 地址编码 | /geocoding/v3 | 浏览器直联百度(无独立系统路径) | 地址转坐标 |
| 2 | 逆地址编码 | /reverse_geocoding/v3 | 浏览器直联百度(无独立系统路径) | 坐标转地址 |
| 3 | 搜索服务-关键词查询 | /place/v2/search | 浏览器直联百度(无独立系统路径) | POI关键词搜索 |
| 4 | 搜索服务-周边查询 | /place/v2/search | 浏览器直联百度(无独立系统路径) | POI周边搜索 |
| 5 | 搜索服务-多边形查询 | /place/v2/search | 浏览器直联百度(无独立系统路径) | POI多边形搜索 |
| 6 | 搜索服务-ID查询 | /place/v2/detail | 浏览器直联百度(无独立系统路径) | POI详情 |
| 7 | 输入提示 | /place/v2/suggestion | 浏览器直联百度(无独立系统路径) | 搜索提示词 |
| 8 | 公交路线 | /directionlite/v1/transit | 浏览器直联百度(无独立系统路径) | 公交路线规划 |
| 9 | 驾车路线 | /directionlite/v1/driving | 浏览器直联百度(无独立系统路径) | 驾车路线规划 |
| 10 | 步行路线 | /directionlite/v1/walking | 浏览器直联百度(无独立系统路径) | 步行路线规划 |
| 11 | 距离测算 | 路线距离矩阵 | 浏览器直联百度(无独立系统路径) | 距离测量 |
| 12 | 天气 | /weather/v1 | 浏览器直联百度(无独立系统路径) | 天气查询 |
| 13 | 行政区域搜索 | 行政区划查询 | 浏览器直联百度(无独立系统路径) | 行政区划查询 |
| 14 | 坐标转化 | /geoconv/v1 | 浏览器直联百度(无独立系统路径) | 坐标系转换(BD-09) |
| 15 | 静态图 | /staticimage/v2 | 浏览器直联百度(无独立系统路径) | 静态地图图片 |
| 16 | ip定位 | /location/ip | 浏览器直联百度(无独立系统路径) | IP地址定位 |
| 17 | 交通态势 | /traffic/v1/road | 浏览器直联百度(无独立系统路径) | 圆形区域交通态势 |
用途
加载百度地图 JS API 脚本(映射官方 api.map.baidu.com/api?v=3.0)。系统完成客户 Key 鉴权与调用计数后返回 SDK,SDK 内部调用由浏览器直联百度(Plan Y)。仅限「Plan Y · 浏览器直联」方案的客户 Key 调用,Plan X 方案 Key 调用返回 403。
使用方式(推荐带 callback 异步加载)
<script>
window.onBMapReady = function() {
var map = new BMap.Map('container');
map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);
map.enableScrollWheelZoom(true);
};
</script>
<script src="https://stmappro.cn/access/baidu/jsapi/load?key=你的PlanY客户Key&callback=onBMapReady"></script>
BMapGL.Point(lng, lat)构造点的顺序是 经度,纬度。
腾讯地图 WebService API
腾讯地图 WebService API 为服务端 HTTP 接口,使用 服务端 Key(Web 服务 Key)鉴权。调用方式与高德一致:只需把路径前缀从 /access/v3/...换成 /access/tencent/ws/...,其余(Client Key 鉴权、参数、返回格式)完全一致。
key参数;若 Key 开启了「SK 签名」,只需在后台配置 SK,系统会自动计算并附加 sig签名。
接口总览(23 个)
| # | 接口名称 | 请求路径 | 说明 |
|---|---|---|---|
| 1 | 地址解析 | /tencent/ws/geocoder/v1 | 地址转坐标(传 address 参数) |
| 2 | 逆地址解析 | /tencent/ws/geocoder/v1/ | 坐标转地址(传 location 参数,路径带尾斜杠) |
| 3 | 地点搜索 | /tencent/ws/place/v1/search | POI 关键词/周边/区域搜索 |
| 4 | 地点详情 | /tencent/ws/place/v1/detail | POI 详情查询 |
| 5 | 关键词输入提示 | /tencent/ws/place/v1/suggestion | 搜索提示词 |
| 6 | 行政区划-列表 | /tencent/ws/district/v1/list | 行政区划查询(列表) |
| 7 | 行政区划-下级 | /tencent/ws/district/v1/getchildren | 获取下级行政区划 |
| 8 | 驾车路线规划 | /tencent/ws/direction/v1/driving/ | 驾车路径规划 |
| 9 | 公交路线规划 | /tencent/ws/direction/v1/transit/ | 公交路径规划 |
| 10 | 步行路线规划 | /tencent/direction/v1/walking/ | 步行路径规划 |
| 11 | 骑行路线规划 | /tencent/ws/direction/v1/bicycling/ | 骑行路径规划 |
| 12 | 距离矩阵 | /tencent/ws/distance/v1/matrix | 距离矩阵(多起点多终点) |
| 13 | IP 定位 | /tencent/ws/location/v1/ip | IP 地址定位 |
| 14 | 坐标转换 | /tencent/ws/coord/v1/translate | 坐标系转换 |
| 15 | 静态地图 | /tencent/ws/staticmap/v2 | 静态地图图片 |
| 16 | 电动自行车路线规划 | /tencent/ws/direction/v1/ebicycling/ | 电动自行车路径规划 |
| 17 | 智能硬件定位 | /tencent/ws/location/v1/network | GPS/WiFi/基站/蓝牙 设备定位(POST) |
| 18 | 多边形范围搜索 | /tencent/ws/place/v1/search_by_polygon | 在多边形区域内搜索 POI |
| 19 | 沿途搜索 | /tencent/ws/place/v1/alongby | 沿指定路线搜索附近 POI |
| 20 | 周边推荐 | /tencent/ws/place/v1/explore | 按定位推荐周边兴趣点 |
| 21 | 行政区划-搜索 | /tencent/ws/district/v1/search | 按关键字搜索行政区划 |
| 22 | 货车路线规划 | /tencent/ws/direction/v1/trucking/ | 货车路径规划(含载重/限高/禁行) |
| 23 | 天气查询 | /tencent/ws/weather/v1/ | 实况与天气预报查询 |
腾讯地址解析
将文字地址转换为经纬度坐标。腾讯地址解析和逆地址解析使用同一接口,通过参数区分。
请求参数
| 参数 | 说明 | 必填 | 示例 |
|---|---|---|---|
key | 你的 Client Key | 必填 | key=你的ClientKey |
address | 待解析的地址 | 必填* | address=北京市海淀区中关村 |
location | 待逆解析的坐标(lat,lng) | 必填* | location=39.984154,116.307490 |
region | 地址所在城市 | 可选 | region=北京 |
* address和 location二选一:传 address为地址解析,传 location为逆地址解析。
请求示例
https://stmappro.cn/access/tencent/ws/geocoder/v1?key=你的ClientKey&address=北京市海淀区中关村
逆地址解析示例
https://stmappro.cn/access/tencent/ws/geocoder/v1/?key=你的ClientKey&location=39.984154,116.307490
/(尾斜杠),以区分于地理编码。响应示例
{
"status": 0,
"message": "query ok",
"result": {
"title": "海淀区",
"location": { "lng": 116.307490, "lat": 39.984154 },
"address_components": {
"province": "北京市",
"city": "北京市",
"district": "海淀区",
"street": "中关村",
"street_number": ""
}
}
}
{ lat, lng }(纬度在前),与高德一致。腾讯地点搜索
POI 关键词搜索、周边搜索、区域搜索。通过 boundary参数区分搜索类型。
请求参数
| 参数 | 说明 | 必填 | 示例 |
|---|---|---|---|
key | 你的 Client Key | 必填 | key=你的ClientKey |
keyword | 搜索关键词 | 必填 | keyword=星巴克 |
boundary | 搜索范围 | 必填 | boundary=nearby(39.98,116.30,1000) |
page_size | 每页条数(最大20) | 可选 | page_size=20 |
page_index | 页码 | 可选 | page_index=1 |
请求示例
https://stmappro.cn/access/tencent/ws/place/v1/search?key=你的ClientKey&keyword=星巴克&boundary=nearby(39.984154,116.307490,1000)
boundary格式:nearby(lat,lng,radius)周边搜索;region(城市名)区域搜索。腾讯路线规划
提供驾车、公交、步行、骑行、电动自行车路线规划。注意路径需带尾部斜杠。
请求参数
| 参数 | 说明 | 必填 | 示例 |
|---|---|---|---|
key | 你的 Client Key | 必填 | key=你的ClientKey |
from | 起点坐标(lat,lng) | 必填 | from=39.984154,116.307490 |
to | 终点坐标(lat,lng) | 必填 | to=39.915,116.404 |
请求示例
https://stmappro.cn/access/tencent/ws/direction/v1/driving/?key=你的ClientKey&from=39.984154,116.307490&to=39.915,116.404
/ws/direction/v1/transit/,需额外传 city参数。腾讯坐标转换
将其他坐标系转换为腾讯坐标(GCJ-02)。
请求参数
| 参数 | 说明 | 必填 | 示例 |
|---|---|---|---|
key | 你的 Client Key | 必填 | key=你的ClientKey |
locations | 待转换坐标(lat,lng;lat,lng) | 必填 | locations=39.915,116.404;39.98,116.30 |
type | 源坐标类型(1=GPS, 3=百度, 7=MapBar) | 必填 | type=1 |
请求示例
https://stmappro.cn/access/tencent/ws/coord/v1/translate?key=你的ClientKey&locations=39.915,116.404&type=1
腾讯IP 定位
根据 IP 地址返回地理位置信息。
请求参数
| 参数 | 说明 | 必填 | 示例 |
|---|---|---|---|
key | 你的 Client Key | 必填 | key=你的ClientKey |
ip | IP 地址(不传则为请求者 IP) | 可选 | ip=114.114.114.114 |
请求示例
https://stmappro.cn/access/tencent/ws/location/v1/ip?key=你的ClientKey&ip=114.114.114.114
智能硬件定位(腾讯)
基于 GPS、WiFi、基站、蓝牙等环境信息为智能硬件设备估算位置,对应官方 ws/location/v1/network。需 Web 服务 Key鉴权,资源池 Key 需开通「智能硬件定位」配额。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 通过 Query 传递,系统自动替换为资源池 Key |
device_id | 设备 ID | 选填 | 设备唯一标识 |
gpsinfo | GPS 信息 | 选填 | { lat, lon, ... } |
cellinfo | 基站信息 | 选填 | 数组 |
wifiinfo | WiFi 信息 | 选填 | 数组,每项含 mac / rssi |
bleinfo | 蓝牙信息 | 选填 | 数组 |
ip | 设备 IP | 选填 | 公网 IP |
请求体以 application/json编码。
请求示例
curl -X POST "https://stmappro.cn/access/tencent/ws/location/v1/network?key=你的ClientKey" \
-H "Content-Type: application/json" \
-d '{"device_id":"device_001","gpsinfo":{"lat":39.92,"lon":116.44},"wifiinfo":[{"mac":"aa:bb:cc:dd:ee:ff","rssi":-50}]}'
多边形范围搜索
在指定的多边形区域内搜索 POI,适用于电子围栏、区域统计等场景,对应官方 ws/place/v1/search_by_polygon。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统自动替换为资源池 Key |
polygon | 多边形坐标 | 必填 | 经纬度对,用 |分隔点,点之间用 ,分隔经纬度,最少 3 个点 |
keyword | 关键字 | 选填 | POI 名称过滤 |
page_size | 每页条数 | 选填 | 默认 10,最大 20 |
请求示例
https://stmappro.cn/access/tencent/ws/place/v1/search_by_polygon?key=你的ClientKey&polygon=39.98,116.30|39.99,116.31|39.97,116.32
沿途搜索
沿指定路线(道路)搜索附近的 POI,适用于沿途加油站、服务区推荐等,对应官方 ws/place/v1/alongby。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统自动替换为资源池 Key |
location | 中心点坐标 | 必填 | lat,lng |
radius | 搜索半径 | 选填 | 单位米,默认 1000 |
keyword | 关键字 | 选填 | 如「加油站」 |
请求示例
https://stmappro.cn/access/tencent/ws/place/v1/alongby?key=你的ClientKey&location=39.984154,116.307490&keyword=加油站
周边推荐
根据定位智能推荐周边兴趣点(如附近美食、景点),对应官方 ws/place/v1/explore。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统自动替换为资源池 Key |
location | 中心点坐标 | 必填 | lat,lng |
radius | 推荐半径 | 选填 | 单位米,默认 1000 |
get_category | 返回分类 | 选填 | 为 1 时返回分类聚合 |
请求示例
https://stmappro.cn/access/tencent/ws/place/v1/explore?key=你的ClientKey&location=39.984154,116.307490
行政区划-搜索
按关键字搜索行政区划(省/市/区),与「行政区划-列表」「行政区划-下级」并列,对应官方 ws/district/v1/search。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统自动替换为资源池 Key |
keyword | 关键字 | 必填 | 如「北京」「海淀区」 |
page_size | 每页条数 | 选填 | 默认 10 |
请求示例
https://stmappro.cn/access/tencent/ws/district/v1/search?key=你的ClientKey&keyword=海淀
货车路线规划
为货车规划路径,支持载重、限高、禁行等约束,对应官方 ws/direction/v1/trucking/。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统自动替换为资源池 Key |
from | 起点 | 必填 | lat,lng |
to | 终点 | 必填 | lat,lng |
truck_weight | 货车载重 | 选填 | 单位吨 |
truck_height | 货车高度 | 选填 | 单位米 |
请求示例
https://stmappro.cn/access/tencent/ws/direction/v1/trucking/?key=你的ClientKey&from=39.984154,116.307490&to=39.915,116.404&truck_weight=5
天气查询
查询指定城市的实况天气与未来预报,对应官方 ws/weather/v1/。
请求参数
| 参数名 | 含义 | 是否必填 | 说明 |
|---|---|---|---|
key | Client Key | 必填 | 系统自动替换为资源池 Key |
location | 城市/坐标 | 必填 | 城市名如「北京」或 lat,lng |
type | 天气类型 | 选填 | now(实况,默认)/ forecast(预报) |
请求示例
https://stmappro.cn/access/tencent/ws/weather/v1/?key=你的ClientKey&location=北京&type=forecast
腾讯 JS API 与双端(both)模式
JS SDK 加载
<script>
fetch('https://stmappro.cn/access/tencent/jsapi/load?key=你的双端ClientKey')
.then(r => r.text())
.then(js => { var s = document.createElement('script'); s.textContent = js; document.head.appendChild(s); });
// 或直接 <script src="https://stmappro.cn/access/tencent/jsapi/load?key=你的双端ClientKey"></script>
</script>
加载完成后使用 TMap对象初始化地图:
var map = new TMap.Map('container', {
center: new TMap.LatLng(39.984, 116.307),
zoom: 13,
gesture: 'two_finger' // 移动端双指缩放
});
数据服务调用(同一把 Key)
// 地理编码(服务端代理,腾讯只见系统 IP)
fetch('https://stmappro.cn/access/tencent/ws/geocoder/v1?key=你的双端ClientKey&address=北京市海淀区')
.then(r => r.json()).then(d => console.log(d.result.location));
错误码说明
HTTP 状态码
| 状态码 | 含义 | 触发场景 | 处理建议 |
|---|---|---|---|
| 400 | 请求参数错误 | 缺少 key 参数或 API 路径 | 检查请求 URL 格式 |
| 403 | 无权限访问 | Client Key 无效/已停用/已过期,或该 Key 未开通此接口权限,或 IP 不在白名单,或 Key 类型与接口路径不匹配 | 联系管理员检查 Key 状态和权限配置 |
| 429 | 请求被限流 | 触发整体日限额 / 接口日配额 / 接口 QPS 超限 | 降低请求频率,等待配额恢复,或联系管理员提升额度 |
| 502 | 上游服务错误 | 官方 API 请求失败或超时 | 重试,如持续失败请联系管理员 |
| 503 | 服务不可用 | 官方 Key 池无可用 Key(所有 Key 被限流或停用) | 联系管理员检查 Key 池状态 |
错误响应示例
// 403 - 无权限
{
"error": "该 Key 未开通此接口权限",
"endpoint": "/v3/geocode/geo"
}
// 403 - Key 类型不匹配
{
"error": "Key 平台类型与接口不匹配",
"detail": "该接口需要 web_service 类型 Key"
}
// 429 - 限流
{
"error": "该接口今日调用量已达上限",
"endpoint": "/v3/geocode/geo",
"limit": 1000
}
// 429 - QPS 超限
{
"error": "该接口并发 QPS 超限",
"endpoint": "/v3/geocode/geo",
"limit": 50
}
官方业务错误码
当 HTTP 状态码为 200 时,响应体中的 status和 infocode字段表示业务结果:
| infocode | 含义 |
|---|---|
| 10000 | 请求成功 |
| 10001 | key 不正确或过期 |
| 10003 | 每日调用量超限 |
| 10004 | QPS 超限 |
| 10009 | 请求参数缺失 |
| 10010 | IP 白名单限制 |
| 10044 | 域名白名单限制 |
腾讯地图错误码
腾讯 WebService API 响应中 status为数字,0 表示成功,非 0 为错误:
| status | 含义 | 说明 |
|---|---|---|
| 0 | 请求成功 | — |
| 100 | Key 错误 | 检查 Key 是否正确 |
| 110 | 请求来源未授权 | 检查域名/IP 白名单 |
| 111 | 签名验证失败 | 检查 SK 签名配置 |
| 120 | 每秒请求量超限 | QPS 超限,系统自动临时移除该 Key |
| 121 | 每天请求量超限 | 日配额耗尽,系统自动临时移除该 Key |
| 310 | 请求参数信息有误 | 检查参数格式 |
| 311 | Key 格式错误 | Key 格式不合法 |
代码示例
Web 服务 Key 调用示例
cURL
# 地址编码
curl "https://stmappro.cn/access/v3/geocode/geo?key=你的WebKey&address=上海市浦东新区"
# 驾车路线
curl "https://stmappro.cn/access/v3/direction/driving?key=你的WebKey&origin=121.4737,31.2304&destination=121.5067,31.2416&extensions=all"
JavaScript (fetch)
const BASE = 'https://stmappro.cn/access';
const KEY = '你的WebKey';
// 地址编码
const res = await fetch(`${BASE}/v3/geocode/geo?key=${KEY}&address=上海市浦东新区`);
const data = await res.json();
console.log(data.geocodes[0].location); // "121.506674,31.241581"
// 驾车路线
const res2 = await fetch(`${BASE}/v3/direction/driving?key=${KEY}&origin=121.4737,31.2304&destination=121.5067,31.2416&extensions=all`);
const route = await res2.json();
console.log(route.route.paths[0].distance); // 距离(米)
JavaScript (axios)
import axios from 'axios';
const api = axios.create({
baseURL: 'https://stmappro.cn/access',
params: { key: '你的WebKey' },
timeout: 10000,
});
// 地址编码
const { data } = await api.get('/v3/geocode/geo', {
params: { address: '上海市浦东新区' }
});
// 搜索 POI
const { data: pois } = await api.get('/v3/place/text', {
params: { keywords: '星巴克', city: '上海', offset: 10 }
});
Python
import requests
BASE = 'https://stmappro.cn/access'
KEY = '你的WebKey'
# 地址编码
resp = requests.get(f'{BASE}/v3/geocode/geo', params={
'key': KEY,
'address': '上海市浦东新区'
})
data = resp.json()
print(data['geocodes'][0]['location'])
# 驾车路线
resp = requests.get(f'{BASE}/v3/direction/driving', params={
'key': KEY,
'origin': '121.4737,31.2304',
'destination': '121.5067,31.2416',
'extensions': 'all'
})
route = resp.json()
print(route['route']['paths'][0]['distance'])
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
String BASE = "https://stmappro.cn/access";
String KEY = "你的WebKey";
// 地址编码
String url = BASE + "/v3/geocode/geo?key=" + KEY + "&address=上海市浦东新区";
HttpRequest request = HttpRequest.newBuilder().uri(URI.create(url)).build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Node.js
const BASE = 'https://stmappro.cn/access';
const KEY = '你的WebKey';
// 地址编码
const url = `${BASE}/v3/geocode/geo?key=${KEY}&address=上海市浦东新区`;
fetch(url)
.then(res => res.json())
.then(data => console.log(data.geocodes[0].location));
JS API Key 调用示例
① 加载 SDK(唯一入口)
<!-- 加载 JS SDK,注意用 /access/jsapi/load 而非官方地址 -->
<script src="https://stmappro.cn/access/jsapi/load?key=你的JSAPI_Key&plugins=AMap.Geocoder,AMap.PlaceSearch"></script>
② 用官方 AMap 对象调用(数据请求自动经 serviceHost 代理)
<script>
// 初始化地图
var map = new AMap.Map('container', {
zoom: 11,
center: [121.4737, 31.2304],
touchZoom: true, // 移动端双指缩放
doubleClickZoom: true // 双击放大
});
// 地址编码
var geocoder = new AMap.Geocoder();
geocoder.getLocation('上海市浦东新区', function(status, result) {
console.log(result.geocodes[0].location);
});
// 周边搜索
AMap.plugin('AMap.PlaceSearch', function() {
var placeSearch = new AMap.PlaceSearch({ city: '上海', pageSize: 10 });
placeSearch.search('星巴克', function(status, result) {
console.log(result);
});
});
</script>
/access/jsapi/geocode/geo这类独立 REST 端点。JS API 的所有数据请求都由加载后的 SDK 经 serviceHost 代理自动发起,开发者直接调用官方 AMap对象方法即可。
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
base := "https://stmappro.cn/access"
key := "你的WebKey"
params := url.Values{}
params.Set("key", key)
params.Set("address", "上海市浦东新区")
resp, _ := http.Get(base + "/v3/geocode/geo?" + params.Encode())
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}
微信小程序 SDK 接入
https://stmappro.cn,即可把小程序的所有地图数据请求统一走你的系统(腾讯/高德只见你的服务器 IP,百度自动走服务端 AK 链路,永不出现浏览器端 AK 的 240 限制)。
架构与链路
| 环节 | 说明 |
|---|---|
| 小程序内调用 | 通过我们提供的 SDK 调 wx.request,请求指向 https://stmappro.cn/access/{厂商} |
| 服务器代理 | 系统收到请求后,按客户 Key 的「小程序」权限,从对应厂商的服务端资源池取 AK 转发(百度强制走服务端 Plan X) |
| 官方只见 | 腾讯、高德只见你的服务器 IP;百度消耗的是服务端 AK 额度(不再触发浏览器端 AK 的 240 错误) |
| 地图渲染 | 使用微信原生 <map>组件,不耗额度、无需 Key(见 地图显示) |
三个 SDK 文件与下载
| 厂商 | SDK 文件 | 兼容官方 | 类 / 构造 |
|---|---|---|---|
| 腾讯 | xtmap-wx-jssdk.js | qqmap-wx-jssdk | new XTMapWX({ key }) |
| 高德 | xtmap-amap-wx.js | amap-wx.js | new amapFile.AMapWX({ key }) |
| 百度 | xtmap-bmap-wx.js | bmap-wx.js | new bmap.BMapWX({ ak }) |
也可在「创建小程序 Key」弹窗中直接复制下载地址。所有 SDK 默认 host 为 https://stmappro.cn/access/{厂商},无需手动设置。
小程序后台配置(三家通用)
微信公众平台 开发管理 开发设置 服务器域名 request 合法域名添加:
https://stmappro.cn
只需添加我们一个域名即可,无需再添加 apis.map.qq.com / restapi.amap.com / api.map.baidu.com。uploadFile / downloadFile 合法域名按需添加(静态图下载场景)。
腾讯小程序 SDK(xtmap-wx-jssdk.js)
与腾讯官方 qqmap-wx-jssdk方法级兼容。把官方 var QQMapWX = require('qqmap-wx-jssdk.js')换成我们的文件,key换成服务系统客户 Key(需勾选「小程序 SDK」,见下文)即可。
引入与初始化
// 把官方 qqmap-wx-jssdk.js 换成我们提供的文件
var XTMapWX = require('./xtmap-wx-jssdk.js');
var sdk = new XTMapWX({ key: '你的服务系统客户Key' });
方法列表
| 方法 | 对应官方 | 说明 / 默认路径 |
|---|---|---|
search(opt) | search | POI 搜索 /ws/place/v1/search(默认以当前位置 1000m 周边) |
getSuggestion(opt) | getSuggestion | 关键词输入提示 /ws/place/v1/suggestion |
geocoder(opt) | geocoder | 地址解析 /ws/geocoder/v1(address) |
reverseGeocoder(opt) | reverseGeocoder | 逆地址解析 /ws/geocoder/v1(location,缺省用定位) |
direction(opt) | direction | 路线规划 /ws/direction/v1/{mode}/(mode: driving/walking/bicycling/transit) |
calculateDistance(opt) | calculateDistance | 距离计算 /ws/distance/v1/matrix |
getCityList(opt) | getCityList | 城市列表 /ws/district/v1/list |
getDistrictByCityId(opt) | getDistrictByCityId | 下级区县 /ws/district/v1/getchildren |
调用示例
// 逆地理编码(缺省 location 自动用 wx.getLocation)
sdk.reverseGeocoder({
success: function (res) { console.log(res.result.address); },
fail: function (err) { console.log(err); }
});
// POI 搜索
sdk.search({
keyword: '咖啡',
success: function (res) { console.log(res.data); }
});
// 路线规划(驾车)
sdk.direction({
mode: 'driving',
to: { latitude: 39.984, longitude: 116.307 },
success: function (res) { console.log(res.result.routes); }
});
status === 0回调 success,否则回调 fail(与官方一致)。若返回 403「未开通小程序 SDK 调用权限」,请在管理后台给该客户 Key 勾选「小程序 SDK」。
高德小程序 SDK(xtmap-amap-wx.js)
与高德官方 amap-wx.js (AMapWX)方法级兼容。客户 Key 需选择「小程序 SDK」平台(独立平台类型,等同服务端链路)。
引入与初始化
var amapFile = require('./xtmap-amap-wx.js');
var amap = new amapFile.AMapWX({ key: '你的服务系统客户Key' });
方法列表
| 方法 | 对应官方 | 说明 |
|---|---|---|
getRegeo(a) | getRegeo | 逆地理编码,返回 [{ name, desc, longitude, latitude }] |
getWeather(a) | getWeather | 天气(a.type='forecast' 取预报) |
getPoiAround(a) | getPoiAround | 周边 POI,返回 { markers, poisData } |
getInputtips(a) | getInputtips | 输入提示,返回 { tips } |
getDrivingRoute(a) | getDrivingRoute | 驾车路线 |
getWalkingRoute(a) | getWalkingRoute | 步行路线 |
getTransitRoute(a) | getTransitRoute | 公交路线(含城市) |
getRidingRoute(a) | getRidingRoute | 骑行路线 /v4/direction/bicycling |
getStaticmap(a) | getStaticmap | 静态图,返回 { url } 可直接用于 <image> |
调用示例
// 逆地理编码(缺省 location 自动用 wx.getLocation)
amap.getRegeo({
success: function (data) {
var r = data[0];
console.log(r.desc, r.longitude, r.latitude);
},
fail: function (info) { console.log(info); }
});
// 周边咖啡店
amap.getPoiAround({
querykeywords: '咖啡',
success: function (data) { console.log(data.markers); }
});
// 驾车路线
amap.getDrivingRoute({
origin: '116.397,39.908',
destination: '116.480,39.990',
success: function (data) { console.log(data.paths); }
});
百度小程序 SDK(xtmap-bmap-wx.js)
与百度官方 bmap-wx.js (BMapWX)方法级兼容。客户 Key 需选择「小程序 SDK」平台。系统自动走服务端 AK(Plan X),因此不会出现官方浏览器端 AK 服务端代发的 240 限制。
引入与初始化
var bmap = require('./xtmap-bmap-wx.js');
var BMap = new bmap.BMapWX({ ak: '你的服务系统客户Key' });
方法列表
| 方法 | 对应官方 | 说明 |
|---|---|---|
search(param) | search | POI 检索 /place/v2/search |
suggestion(param) | suggestion | 输入提示 /place/v2/suggestion |
regeocoding(param) | regeocoding | 逆地理编码 /reverse_geocoding/v3 |
geocoding(param) | (增强) | 地理编码 /geocoding/v3(官方 bmap-wx 无此方法) |
weather(param) | weather | 天气 /weather/v1 |
direction(param) | (增强) | 路线规划 /directionlite/v1/{mode}(mode: driving/transit/walking/riding) |
坐标系默认 gcj02(百度链路下系统负责与官方坐标系对齐),无需在客户端做坐标转换。
调用示例
// 逆地理编码(缺省 location 自动用 wx.getLocation)
BMap.regeocoding({
success: function (data) { console.log(data.result.addressComponent); },
fail: function (info) { console.log(info); }
});
// POI 检索
BMap.search({
query: '咖啡',
region: '北京',
success: function (data) { console.log(data.results); }
});
// 驾车路线(增强方法)
BMap.direction({
mode: 'driving',
origin: '39.915,116.404',
destination: '39.975,116.480',
success: function (data) { console.log(data.result.routes); }
});
创建小程序客户 Key
在管理后台「客户 Key 管理」中创建或编辑 Key 时,按厂商选择对应平台即可开通小程序调用权限。
腾讯:勾选「小程序 SDK」
腾讯平台支持多选:在原有的「Web 服务」「Web 端」旁边,会出现「小程序 SDK」勾选项。可单独勾选,也可与 Web 服务 / Web 端同时勾选(同一把 Key 三端通用)。勾选后系统记录 mp_enabled=1。
高德 / 百度:选择「小程序 SDK」平台
高德、百度为独立平台类型(单选)。创建 Key 时平台下拉选择「小程序 SDK」即可。该平台等同服务端链路,系统自动从对应厂商的服务端资源池取 AK 转发(百度 = Plan X)。
xt_mp=1)一律走服务端资源池;若请求带 xt_mp=1但客户 Key 未开通小程序权限,系统返回 403 并提示如何开通。这保证官方只见你的服务器 IP,且百度永不触发 240。
地图显示:微信 <map> 组件
<map>组件,它由微信客户端原生绘制,不消耗任何地图额度、也不需要 Key。我们的 SDK 只负责「数据服务」(搜索 / 编码 / 路线等)。
<!-- wxml 中直接使用,无需引入任何 SDK 或 Key -->
<map
longitude="116.397"
latitude="39.908"
scale="14"
markers="{{markers}}"
style="width: 100%; height: 300px;">
</map>
把上面各 SDK 返回的 longitude / latitude / markers绑定到 <map>即可实现「数据来自我们的代理、地图由微信原生渲染」的完整小程序地图能力。
常见问题
接口路径、参数、返回格式完全一致。唯一区别是域名(换成你的服务器地址)和 Key(换成 Client Key),路径前多了 /access前缀(旧 /proxy前缀仍兼容,历史客户端无需改动)。客户端代码只需做一处替换即可迁移。
Web 服务 Key 适用于后端调用,路径以 /v3/开头,支持 IP 白名单;JS API Key 适用于前端调用,路径以 /jsapi/开头,支持域名白名单。两种 Key 不可混用。
可能原因:(1) Client Key 输错、已停用或已过期;(2) 该 Key 未开通目标接口权限;(3) IP 不在白名单;(4) Key 类型与接口路径不匹配(Web 服务 Key 调了 JS API 接口或反之)。联系管理员检查。
触发限流。查看错误信息确认是哪种限流:整体日限额需等次日恢复;接口日配额同理;QPS 超限只需降低频率稍后重试即可。
所有坐标均为 GCJ02(火星坐标系),与官方一致。如需转换为 WGS84(GPS 原始坐标),请使用坐标转化接口。
高德官方已自 2020 年 11 月起废弃 /v3/batch批量请求接口并逐步下线,系统不再提供该接口。如需批量处理,建议在单个接口中使用 batch=true参数(如地理编码支持 batch=true + 多地址用 |分隔),或在应用层并发调用各子接口。
完全一样。JS API 接口只是路径前缀不同(/jsapi/ vs /v3/),业务参数和返回格式与对应的 Web 服务接口完全一致。具体参数请参考 Web 服务接口文档。
联系管理员,可在系统后台查看你的调用量趋势、接口分布、错误率等统计数据。