快速开始

重要说明:针对已对接过腾讯地图 API 的开发者,您只需要更改原有秘钥和接口地址的前缀(将官方域名替换为 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/textPOI关键词搜索
4周边查询/v3/place/aroundPOI周边搜索
5多边形搜索/v3/place/polygonPOI多边形区域搜索
6ID查询/v3/place/detailPOI 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行政区划查询
13ip定位/v3/ipIP地址定位
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/广电更友好)

地址编码

将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标。

GET 地址编码 Web服务 /v3/geocode/geo

请求 URL

https://stmappro.cn/access/v3/geocode/geo?key=你的ClientKey&address=地址&city=城市

请求参数

参数名含义是否必填说明
keyClient 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": "兴趣点"
    }
  ]
}

返回字段说明

字段说明
status1=成功,0=失败
location经纬度坐标,格式:经度,纬度(GCJ02坐标系)
level匹配级别:省/市/区/街道/兴趣点
formatted_address格式化后的完整地址

逆地址编码

将经纬度坐标转化为结构化地址。

GET 逆地址编码 Web服务 /v3/geocode/regeo

请求 URL

https://stmappro.cn/access/v3/geocode/regeo?key=你的ClientKey&location=经度,纬度

请求参数

参数名含义是否必填说明
keyClient Key必填
location坐标必填格式:经度,纬度(GCJ02)
poitypePOI类型选填返回附近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(兴趣点)信息。

GET 关键词查询 Web服务 /v3/place/text

请求参数

参数名含义是否必填说明
keyClient Key必填
keywords关键字必填**与 type 二选一
typesPOI类型必填*类型编码,多个用 | 分隔
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。

GET 周边查询 Web服务 /v3/place/around

请求参数

参数名含义是否必填说明
keyClient Key必填
location中心坐标必填经度,纬度
keywords关键字必填**与 types 二选一
typesPOI类型选填
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,适用于电子围栏、区域统计等场景。

GET 多边形搜索 Web服务 /v3/place/polygon

请求参数

参数名含义是否必填说明
keyClient Key必填
polygon多边形坐标必填经纬度对,用 | 分隔点,点之间用 , 分隔经纬度。最少3个点
keywords关键字必填**与 types 二选一
typesPOI类型选填
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 查询兴趣点详细信息。

GET ID查询 Web服务 /v3/place/detail

请求参数

参数名含义是否必填说明
keyClient Key必填
idPOI ID必填通过关键词/周边/多边形搜索获取
extensions返回内容选填base / all(含详细信息)

请求示例

https://stmappro.cn/access/v3/place/detail?key=你的ClientKey&id=B0FFFAGXSV&extensions=all

输入提示

提供输入提示建议,用于搜索框自动补全。

GET 输入提示 Web服务 /v3/assistant/inputtips

请求参数

参数名含义是否必填说明
keyClient Key必填
keywords关键字必填用户输入内容
city城市选填限定提示城市
datatype数据类型选填poi/road/bus(默认all)

请求示例

https://stmappro.cn/access/v3/assistant/inputtips?key=你的ClientKey&keywords=星巴克&city=上海

驾车路线

规划驾车出行路线,支持多途经点、避开拥堵等策略。

GET 驾车路线 Web服务 /v3/direction/driving

请求参数

参数名含义是否必填说明
keyClient 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

步行路线

规划步行出行路线,支持步行导航。

GET 步行路线 Web服务 /v3/direction/walking

请求参数

参数名含义是否必填说明
keyClient Key必填
origin起点坐标必填经度,纬度
destination终点坐标必填经度,纬度

请求示例

https://stmappro.cn/access/v3/direction/walking?key=你的ClientKey&origin=121.4737,31.2304&destination=121.5067,31.2416

公交路线

规划公交、地铁等公共交通出行路线。

GET 公交路线 Web服务 /v3/direction/transit/integrated

请求参数

参数名含义是否必填说明
keyClient 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,见上文各小节)。

高德坐标系为 GCJ02,坐标顺序为 经度,纬度(lng,lat),与百度(纬度,经度)相反。
GET 骑行路线规划(v5) Web服务 /v5/direction/bicycling

请求 URL

https://stmappro.cn/access/v5/direction/bicycling?key=你的ClientKey&origin=116.434307,39.90909&destination=116.434446,39.90816

请求参数

参数名含义是否必填说明
keyClient Key必填
origin起点坐标必填经度,纬度(lng,lat)
destination终点坐标必填经度,纬度(lng,lat)
show_fields返回字段选填v5 新增,如 cost,navigation
GET 电动车路线规划(v5) Web服务 /v5/direction/electrobike

请求示例

https://stmappro.cn/access/v5/direction/electrobike?key=你的ClientKey&origin=116.434307,39.90909&destination=116.434446,39.90816

参数与骑行一致:key / origin / destination必填,show_fields选填。

GET 货车路线规划(v5) Web服务 /v5/direction/truck

请求 URL

https://stmappro.cn/access/v5/direction/truck?key=你的ClientKey&origin=116.434307,39.90909&destination=116.434446,39.90816&size=2
货车路线规划为高德付费服务,需在控制台开通配额后方可调用。

请求参数

参数名含义是否必填说明
keyClient 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.DrivingRouteBMap.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

距离测算

测量两点之间的行驶距离,支持驾车、步行、骑行。

GET 距离测算 Web服务 /v3/distance

请求参数

参数名含义是否必填说明
keyClient 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

行政区域搜索

查询行政区划信息,支持省市区三级数据。

GET 行政区域搜索 Web服务 /v3/config/district

请求参数

参数名含义是否必填说明
keyClient Key必填
keywords关键字必填**与 adcode 二选一
subdistrict下级层级选填0/1/2/3,默认1
extensions返回内容选填base / all(含边界坐标)

请求示例

https://stmappro.cn/access/v3/config/district?key=你的ClientKey&keywords=上海&subdistrict=2

天气

查询指定城市的天气,包括实况和未来预报。

GET 天气 Web服务 /v3/weather/weatherInfo

请求参数

参数名含义是否必填说明
keyClient Key必填
city城市必填城市名或 adcode
extensions返回类型选填base=实况,all=预报

请求示例

https://stmappro.cn/access/v3/weather/weatherInfo?key=你的ClientKey&city=310115&extensions=all

ip定位

根据 IP 地址返回定位信息。

GET ip定位 Web服务 /v3/ip

请求参数

参数名含义是否必填说明
keyClient Key必填
ipIP地址选填不填则取请求者IP

请求示例

https://stmappro.cn/access/v3/ip?key=你的ClientKey&ip=114.114.114.114

坐标转化

将 GPS/百度/Mapbar 坐标转化为官方坐标(GCJ02)。

GET 坐标转化 Web服务 /v3/assistant/coordinate/convert

请求参数

参数名含义是否必填说明
keyClient 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。

GET 静态图 Web服务 /v3/staticmap

请求参数

参数名含义是否必填说明
keyClient 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" />

交通态势

查询指定区域的交通拥堵情况,支持圆形区域、矩形区域和指定道路三种查询方式。

GET 交通态势(圆形) Web服务 /v3/traffic/status/circle

请求参数

参数名含义是否必填说明
keyClient Key必填
location中心坐标必填经度,纬度
radius半径必填单位:米
level道路等级选填1-5,默认5
https://stmappro.cn/access/v3/traffic/status/circle?key=你的ClientKey&location=121.4737,31.2304&radius=1000
GET 交通态势(矩形) Web服务 /v3/traffic/status/rectangle

请求参数

参数名含义是否必填说明
keyClient 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
GET 交通态势(道路) Web服务 /v3/traffic/status/road

请求参数

参数名含义是否必填说明
keyClient 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)」服务。

POST 智能硬件定位 Web服务 /v5/position/IoT

请求参数

参数名含义是否必填说明
keyClient Key必填通过 Query 传递,系统自动替换为资源池 Key
accesstype定位类型必填1=基站定位,2=WiFi定位,3=混合定位
cdma网络制式选填0=GSM,1=CDMA
bts主基站信息选填格式 MCC,MNC,LAC,CellID,Signal,多个用 |分隔
nearbts周边基站选填同上格式,多个用 |分隔
wifiWiFi 信息选填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)」服务。

GET 智能硬件定位(1.0) Web服务 /v1/position

请求参数

参数名含义是否必填说明
keyClient Key必填通过 Query 传递,系统自动替换为资源池 Key
accesstype接入方式必填0=移动网络(基站),1=WiFi 网络
cdma是否 CDMA选填0=非 CDMA,1=CDMA(accesstype=0 时建议填)
bts主基站信息选填非 CDMA 格式 MCC,MNC,LAC,CellID,Signal(五元组,无 cage);多个用 |分隔
macsWiFi 列表选填格式 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/textPOI关键词搜索
4搜索服务-周边查询/v3/place/around/access/_AMapService/你的JSAPI_Key/v3/place/aroundPOI周边搜索
5搜索服务-多边形查询/v3/place/polygon/access/_AMapService/你的JSAPI_Key/v3/place/polygonPOI多边形搜索
6搜索服务-ID查询/v3/place/detail/access/_AMapService/你的JSAPI_Key/v3/place/detailPOI 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静态地图图片
16ip定位/v3/ip/access/_AMapService/你的JSAPI_Key/v3/ipIP地址定位
17交通态势/v3/traffic/status/circle/access/_AMapService/你的JSAPI_Key/v3/traffic/status/circle圆形区域交通态势
18骑行路线/v5/direction/bicycling/access/_AMapService/你的JSAPI_Key/v5/direction/bicyclingJS API 骑行路线(路径规划2.0)
19电动车路线/v5/direction/electrobike/access/_AMapService/你的JSAPI_Key/v5/direction/electrobikeJS API 电动车路线(路径规划2.0)
20货车路线/v5/direction/truck/access/_AMapService/你的JSAPI_Key/v5/direction/truckJS API 货车路线(路径规划2.0,需配额)

JS SDK 加载

如果你的项目需要在浏览器中使用高德 JS SDK(如地图渲染、覆盖物、交互等),可以通过以下方式加载:

GET JS SDK 加载(serviceHost 代理模式,推荐) JS API /access/jsapi/load

用途

通过系统加载高德 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
模式优势:高德官方只见系统服务器 IP(客户端完全隐藏),同时合规消耗 JS API Key 额度。安全密钥保存在服务端,永不下发前端。

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>
注意:JS API Key 仅适用于 /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/detailID查询
/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/ipip定位
/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 鉴权、参数、返回格式)完全一致。

坐标系差异(必读):百度使用 BD-09坐标系,与高德/国测局(GCJ-02)不同。
  • 地理编码(地址坐标)返回的 location{ lng, lat }(经度,纬度);
  • 逆地理编码、路线规划、静态图、交通态势等接口的 location / origin / destination / center参数则为 纬度,经度(lat,lng)顺序,与高德相反;
  • 坐标系互转请使用 坐标转换接口。
百度服务端 AK 由系统自动注入 ak参数与 output=json,调用方无需手动传 ak;若服务端 AK 开启了「SN 校验」,只需在后台配置 SK,系统会自动计算并附加 sn签名。

接口总览(22 个)

#接口名称请求路径说明
1地理编码/baidu/geocoding/v3地址转坐标
2逆地理编码/baidu/reverse_geocoding/v3坐标转地址
3地点搜索/baidu/place/v2/searchPOI 关键词/周边/区域搜索
4地点详情/baidu/place/v2/detailPOI 详情查询
5驾车路线规划/baidu/directionlite/v1/driving驾车路径规划(轻量版)
6公交路线规划/baidu/directionlite/v1/transit公交路径规划(轻量版)
7步行路线规划/baidu/directionlite/v1/walking步行路径规划(轻量版)
8骑行路线规划/baidu/directionlite/v1/riding骑行路径规划(轻量版)
9IP 定位/baidu/location/ipIP 地址定位
10坐标转换/baidu/geoconv/v1坐标系转换
11天气查询/baidu/weather/v1天气预报
12静态地图/baidu/staticimage/v2静态地图图片
13交通态势/baidu/traffic/v1/road道路交通态势
14地点输入提示/baidu/place/v2/suggestionPOI 输入提示(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)。

GET 地理编码 服务端 /baidu/geocoding/v3

请求 URL

https://stmappro.cn/access/baidu/geocoding/v3?key=你的ClientKey&address=北京市海淀区中关村&city=北京&output=json

请求参数

参数名含义是否必填说明
keyClient 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": "商务大厦"
  }
}

返回字段说明

字段说明
status0=成功,非 0=失败(见 message)
result.locationBD-09 坐标,lng=经度,lat=纬度
result.level匹配级别(如 商务大厦)

百度逆地理编码

将百度坐标(BD-09)转化为结构化地址。

GET 逆地理编码 服务端 /baidu/reverse_geocoding/v3

请求 URL

https://stmappro.cn/access/baidu/reverse_geocoding/v3?key=你的ClientKey&location=39.98313,116.310924&output=json
百度逆地理编码的 location参数为 纬度,经度(lat,lng),与高德(经度,纬度)相反。

请求参数

参数名含义是否必填说明
keyClient 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)。

GET 地点搜索 服务端 /baidu/place/v2/search

请求 URL

https://stmappro.cn/access/baidu/place/v2/search?key=你的ClientKey&query=星巴克®ion=北京&city_limit=true&output=json

请求参数

参数名含义是否必填说明
keyClient 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}),支持驾车 / 公交 / 步行 / 骑行四种模式。

GET 路线规划(驾车) 服务端 /baidu/directionlite/v1/driving

请求 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),与高德相反。

请求参数

参数名含义是否必填说明
keyClient 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}并存;完整版支持更多参数(如途经点、偏好、货车参数等),返回结构也更丰富。支持 驾车 / 公交 / 步行 / 骑行 / 货车 五种模式。

GET 路线规划(驾车 v2) 服务端 /baidu/direction/v2/driving

请求 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),与高德相反。

请求参数

参数名含义是否必填说明
keyClient 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)。

GET 坐标转换 服务端 /baidu/geoconv/v1

请求 URL

https://stmappro.cn/access/baidu/geoconv/v1?key=你的ClientKey&coords=116.404,39.915&from=3&to=5&output=json

请求参数

参数名含义是否必填说明
keyClient 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)。

GET 天气查询 服务端 /baidu/weather/v1

请求 URL

https://stmappro.cn/access/baidu/weather/v1?key=你的ClientKey&district_id=110101&data_type=now&output=json

请求参数

参数名含义是否必填说明
keyClient 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)。

GET 静态地图 服务端 /baidu/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
静态图的 centermarkers经度,纬度(lng,lat)顺序(与路线规划等相反)。

请求参数

参数名含义是否必填说明
keyClient 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)。

GET 交通态势 服务端 /baidu/traffic/v1/road

请求 URL

https://stmappro.cn/access/baidu/traffic/v1/road?key=你的ClientKey&road_name=中关村大街&city=北京&output=json

请求参数

参数名含义是否必填说明
keyClient 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)。

GET IP 定位 服务端 /baidu/location/ip

请求 URL

https://stmappro.cn/access/baidu/location/ip?key=你的ClientKey&ip=114.114.114.114&output=json

请求参数

参数名含义是否必填说明
keyClient Key必填
ipIP 地址选填默认取请求方 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)」服务。

POST 智能硬件定位 Web服务 /baidu/locapi/v2

请求参数

参数名含义是否必填说明
keyClient Key必填通过 Query 传递,系统自动替换为资源池 AK 并注入请求体
cellinfo基站信息选填数组,每项含 cid / lac / mnc / sid
wifiinfoWiFi 信息选填数组,每项含 mac / rssi
gpsinfoGPS 信息选填经纬度等
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/

双方案机制(创建 Key 时选择,二选一):受百度产品机制限制(浏览器端 AK 仅接受浏览器环境直联调用),百度 Key 提供两种互斥方案:

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浏览器直联百度(无独立系统路径)静态地图图片
16ip定位/location/ip浏览器直联百度(无独立系统路径)IP地址定位
17交通态势/traffic/v1/road浏览器直联百度(无独立系统路径)圆形区域交通态势
GET 百度地图 JS API 加载 JS API /access/baidu/jsapi/load

用途

加载百度地图 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>
SDK 加载经系统鉴权计数;后续地图与 JS 服务调用由浏览器直联百度,消耗资源池浏览器端 AK 额度。资源池浏览器端 AK 需在百度控制台配置「Referer 白名单」包含最终使用方域名(或不限制)。
百度地图 JS API 使用 BD-09 坐标系;BMapGL.Point(lng, lat)构造点的顺序是 经度,纬度

腾讯地图 WebService API

腾讯地图 WebService API 为服务端 HTTP 接口,使用 服务端 Key(Web 服务 Key)鉴权。调用方式与高德一致:只需把路径前缀从 /access/v3/...换成 /access/tencent/ws/...,其余(Client Key 鉴权、参数、返回格式)完全一致。

腾讯坐标系与高德一致,均为 GCJ-02(国测局坐标系),无需坐标转换即可与高德数据混用。
腾讯服务端 Key 由系统自动注入 key参数;若 Key 开启了「SK 签名」,只需在后台配置 SK,系统会自动计算并附加 sig签名。

接口总览(23 个)

#接口名称请求路径说明
1地址解析/tencent/ws/geocoder/v1地址转坐标(传 address 参数)
2逆地址解析/tencent/ws/geocoder/v1/坐标转地址(传 location 参数,路径带尾斜杠)
3地点搜索/tencent/ws/place/v1/searchPOI 关键词/周边/区域搜索
4地点详情/tencent/ws/place/v1/detailPOI 详情查询
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距离矩阵(多起点多终点)
13IP 定位/tencent/ws/location/v1/ipIP 地址定位
14坐标转换/tencent/ws/coord/v1/translate坐标系转换
15静态地图/tencent/ws/staticmap/v2静态地图图片
16电动自行车路线规划/tencent/ws/direction/v1/ebicycling/电动自行车路径规划
17智能硬件定位/tencent/ws/location/v1/networkGPS/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/实况与天气预报查询

腾讯地址解析

GET /tencent/ws/geocoder/v1

将文字地址转换为经纬度坐标。腾讯地址解析和逆地址解析使用同一接口,通过参数区分。

请求参数

参数说明必填示例
key你的 Client Key必填key=你的ClientKey
address待解析的地址必填*address=北京市海淀区中关村
location待逆解析的坐标(lat,lng)必填*location=39.984154,116.307490
region地址所在城市可选region=北京

* addresslocation二选一:传 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 }(纬度在前),与高德一致。

腾讯地点搜索

GET /tencent/ws/place/v1/search

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(城市名)区域搜索。

腾讯路线规划

GET /tencent/ws/direction/v1/driving/

提供驾车、公交、步行、骑行、电动自行车路线规划。注意路径需带尾部斜杠。

请求参数

参数说明必填示例
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参数。

腾讯坐标转换

GET /tencent/ws/coord/v1/translate

将其他坐标系转换为腾讯坐标(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 定位

GET /tencent/ws/location/v1/ip

根据 IP 地址返回地理位置信息。

请求参数

参数说明必填示例
key你的 Client Key必填key=你的ClientKey
ipIP 地址(不传则为请求者 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 需开通「智能硬件定位」配额。

POST 智能硬件定位 Web服务 /tencent/ws/location/v1/network

请求参数

参数名含义是否必填说明
keyClient Key必填通过 Query 传递,系统自动替换为资源池 Key
device_id设备 ID选填设备唯一标识
gpsinfoGPS 信息选填{ lat, lon, ... }
cellinfo基站信息选填数组
wifiinfoWiFi 信息选填数组,每项含 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

GET 多边形范围搜索 Web服务 /tencent/ws/place/v1/search_by_polygon

请求参数

参数名含义是否必填说明
keyClient 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

GET 沿途搜索 Web服务 /tencent/ws/place/v1/alongby

请求参数

参数名含义是否必填说明
keyClient 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

GET 周边推荐 Web服务 /tencent/ws/place/v1/explore

请求参数

参数名含义是否必填说明
keyClient 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/direction/v1/trucking/

GET 货车路线规划 Web服务 /tencent/ws/direction/v1/trucking/

请求参数

参数名含义是否必填说明
keyClient 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/

GET 天气查询 Web服务 /tencent/ws/weather/v1/

请求参数

参数名含义是否必填说明
keyClient Key必填系统自动替换为资源池 Key
location城市/坐标必填城市名如「北京」或 lat,lng
type天气类型选填now(实况,默认)/ forecast(预报)

请求示例

https://stmappro.cn/access/tencent/ws/weather/v1/?key=你的ClientKey&location=北京&type=forecast

腾讯 JS API 与双端(both)模式

混合架构:腾讯地图天然区分「WebService(数据服务,服务端)」与「JS API GL(地图渲染,浏览器端)」。选择 双端(both)平台的客户 Key 可同时使用两类能力:数据请求由系统服务端代理转发(腾讯只见系统 IP),地图渲染由浏览器加载 GL SDK。

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));
平台匹配规则:双端 Key 调数据类接口时系统自动选用资源池「服务端」Key;加载 JS SDK 时自动选用「浏览器端」Key。若资源池缺少对应平台的腾讯 Key,相应功能返回 503。

错误码说明

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 时,响应体中的 statusinfocode字段表示业务结果:

infocode含义
10000请求成功
10001key 不正确或过期
10003每日调用量超限
10004QPS 超限
10009请求参数缺失
10010IP 白名单限制
10044域名白名单限制

腾讯地图错误码

腾讯 WebService API 响应中 status为数字,0 表示成功,非 0 为错误:

status含义说明
0请求成功
100Key 错误检查 Key 是否正确
110请求来源未授权检查域名/IP 白名单
111签名验证失败检查 SK 签名配置
120每秒请求量超限QPS 超限,系统自动临时移除该 Key
121每天请求量超限日配额耗尽,系统自动临时移除该 Key
310请求参数信息有误检查参数格式
311Key 格式错误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 接入

一句话接入:我们为三家厂商(腾讯 / 高德 / 百度)各提供了一份微信小程序 SDK 文件,与各家官方小程序 SDK 方法级兼容。你只需把官方 SDK 文件换成我们的文件、把 Key 换成服务系统客户 Key、在小程序后台「request 合法域名」添加 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 合法域名

微信公众平台 开发管理 开发设置 服务器域名 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)searchPOI 搜索 /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)searchPOI 检索 /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)。

选池规则:小程序请求(SDK 自动附带 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>即可实现「数据来自我们的代理、地图由微信原生渲染」的完整小程序地图能力。

常见问题

Q: 系统和官方 API 有什么区别?

接口路径、参数、返回格式完全一致。唯一区别是域名(换成你的服务器地址)和 Key(换成 Client Key),路径前多了 /access前缀(旧 /proxy前缀仍兼容,历史客户端无需改动)。客户端代码只需做一处替换即可迁移。

Q: Web 服务 Key 和 JS API Key 有什么区别?

Web 服务 Key 适用于后端调用,路径以 /v3/开头,支持 IP 白名单;JS API Key 适用于前端调用,路径以 /jsapi/开头,支持域名白名单。两种 Key 不可混用。

Q: 调用返回 403 怎么办?

可能原因:(1) Client Key 输错、已停用或已过期;(2) 该 Key 未开通目标接口权限;(3) IP 不在白名单;(4) Key 类型与接口路径不匹配(Web 服务 Key 调了 JS API 接口或反之)。联系管理员检查。

Q: 调用返回 429 怎么办?

触发限流。查看错误信息确认是哪种限流:整体日限额需等次日恢复;接口日配额同理;QPS 超限只需降低频率稍后重试即可。

Q: 坐标是什么坐标系?

所有坐标均为 GCJ02(火星坐标系),与官方一致。如需转换为 WGS84(GPS 原始坐标),请使用坐标转化接口。

Q: 支持批量调用吗?

高德官方已自 2020 年 11 月起废弃 /v3/batch批量请求接口并逐步下线,系统不再提供该接口。如需批量处理,建议在单个接口中使用 batch=true参数(如地理编码支持 batch=true + 多地址用 |分隔),或在应用层并发调用各子接口。

Q: JS API 接口的参数和 Web 服务一样吗?

完全一样。JS API 接口只是路径前缀不同(/jsapi/ vs /v3/),业务参数和返回格式与对应的 Web 服务接口完全一致。具体参数请参考 Web 服务接口文档。

Q: 如何获取我的调用统计数据?

联系管理员,可在系统后台查看你的调用量趋势、接口分布、错误率等统计数据。