AMap (Gaode / 高德) Directions API - China Driving & Transit
Pricing
from $5.99 / 1,000 route computeds
AMap (Gaode / 高德) Directions API - China Driving & Transit
Get driving, transit, walking and cycling routes anywhere in China from AMap (Gaode). Distance, travel time, tolls, live traffic, turn-by-turn steps. No AMap key or login. Also plate-restriction flags, transit service alerts, scheduled departures and intercity rail fares as JSON, CSV or Excel.
Pricing
from $5.99 / 1,000 route computeds
Rating
0.0
(0)
Developer
Zen Studio
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
高德地图路线规划 API | AMap (Gaode) Directions API | China Driving, Transit & Route Planner (2026)
全国任意两点的路线规划: 驾车、公交地铁、步行、骑行、电动车五种方式,返回距离、耗时、过路费、实时路况、逐步导航、路线坐标、公交换乘方案,结构化 JSON 输出。无需高德开发者 Key,无需登录。
Point-to-point routes anywhere in China, driving, transit, walking, cycling and e-bike, as structured JSON. No AMap key or login.
| Zen Studio Maps Suite • Places, reviews, and routes across every major map provider | ||||
|
➤ You are here |
Places, contacts, reviews |
Discount fuel prices |
China POI, deals, reviews |
Places, reviews, times |
核心功能 / Key Features
- 五种出行方式: 驾车、公交地铁、步行、骑行、电动车,各自返回对应字段与逐步导航。
Five travel modes. - 驾车含实时路况: 每一步都带路况状态(畅通 / 缓行 / 拥堵)、过路费、红绿灯数量,并返回最多 3 条备选路线供比较。
Live traffic, tolls, up to 3 alternatives. - 限行判断: 填入车牌号(如
京A12345),每条路线标注当天是否受尾号限行影响,外地车牌同样适用。
Tail-number restriction flag. - 完整公交换乘方案: 地铁、公交、城际铁路分段,含线路名、上下车站、途经站、首末班车时间、票价、步行段、车站出入口,跨城自动返回高铁/动车方案与席别票价。
Full transit plans incl. intercity rail fares. - 公交实时运营提示: 线路调整、停运、加密行车间隔等官方提示随方案返回。
Live service alerts. - 按出发时间规划公交: 指定
2026-08-29 07:30这样的出发时间,首末班车与换乘等待会随之变化。
Scheduled departure. - 避让区域与偏好: 避开收费路段、不走高速,或直接圈定要绕开的区域。
Avoid tolls, motorways, geofenced areas. - 名称、地址、坐标均可: 支持地点名(
北京西站)、俗称(鸟巢)、详细地址,或经度,纬度坐标,自动解析。
Names, addresses or coordinates. - 批量路线: 一次运行最多 10 条路线,并行计算,适合做通行时间矩阵。
Up to 10 routes per run. - 无需 Key、无需登录: 填两个点即可运行,不需要高德开发者 Key、中国手机号或账号。
No key, no login.
Copy to your AI assistant
zen-studio/amap-directions-api on Apify. AMap (Gaode / 高德地图) China directions: driving/walking/bicycling/electrobike/transit routes with distance, duration, tolls, live traffic, turn-by-turn steps, route geometry, and transit segments (subway/bus/rail). Call ApifyClient("TOKEN").actor("zen-studio/amap-directions-api").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Provide origin+destination (place name, address, or "lng,lat") + travelMode, OR routePairs[] for batch routing. Full spec: GET https://api.apify.com/v2/acts/zen-studio~amap-directions-api/builds/default (Bearer TOKEN) -> inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations
如何规划路线 / How to Get Directions
驾车(基础)/ Driving
{"origin": "望京SOHO","destination": "天安门","city": "北京","travelMode": "driving"}
公交地铁,含跨城 / Public transit, including cross-city
跨城时自动返回高铁、动车方案,带席别与票价。
{"origin": "北京南站","destination": "上海虹桥站","travelMode": "transit"}
限行判断 / Tail-number restriction
填入车牌号后,每条路线会多出 plateRestricted 字段,标注该车牌当天是否受限行影响。不填则不判断,路线照常返回。
{"origin": "望京SOHO","destination": "天安门","city": "北京","travelMode": "driving","licensePlate": "京A12345"}
避开收费、高速与指定区域 / Avoid tolls, motorways and areas
avoidAreas 每行一个封闭区域,至少 3 个 经度,纬度 坐标点,用分号分隔。
{"origin": "望京SOHO","destination": "天安门","travelMode": "driving","avoidTolls": true,"avoidHighways": true,"avoidAreas": ["116.46,39.97;116.50,39.97;116.50,39.94;116.46,39.94"]}
按出发时间规划公交 / Scheduled transit departure
早高峰和深夜的方案不同:首末班车、换乘等待、可行线路都会变化。
{"origin": "望京SOHO","destination": "北京南站","travelMode": "transit","departureTime": "2026-08-29 07:30","transitPreference": "leastWalking"}
途经点 / Multi-stop driving route
{"origin": "北京西站","destination": "首都国际机场T3","waypoints": ["天安门", "望京SOHO"],"travelMode": "driving"}
批量 / Batch: many routes in one run
{"travelMode": "driving","routeDetail": "summary","maxRoutes": 1,"routePairs": [{ "origin": "上海虹桥站", "destination": "外滩" },{ "origin": "上海虹桥站", "destination": "上海迪士尼" },{ "origin": "上海虹桥站", "destination": "浦东国际机场" }]}
如何用高德地图规划一条路线 / How to get AMap directions in 4 steps
- 打开 AMap (Gaode) Directions API 的 Input 页面。
Open the Input tab. - 填写起点和终点,可用地点名(
北京西站)、详细地址或经度,纬度坐标。
Enter an origin and destination. - 选择出行方式:驾车、公交地铁、步行、骑行或电动车;按需设置车牌限行、避让区域或公交出发时间。
Pick a travel mode and any options. - 点击 Start,几秒后在 Storage 标签下载 JSON、CSV、Excel、XML 或 HTML。
Click Start, then download the results.
想每天自动跑?在 Apify 控制台用 Schedules 设置定时任务:路况类用途建议每天早晚高峰各一次,票价和公交线路变化慢,每周一次即可。结果可通过 Webhook 推送到 Google Sheets、Make、Zapier 或你自己的服务。
Schedule it: twice daily at peak hours for traffic-sensitive routes, weekly for fares and transit lines. Pipe results to Google Sheets, Make, Zapier or your own webhook.
输入参数 / Input Parameters
| 参数 Parameter | 类型 Type | 默认 Default | 说明 Description |
|---|---|---|---|
origin | string | 北京西站 | 起点:地点名、详细地址,或 经度,纬度。Route start. |
destination | string | 首都国际机场T3 | 终点,写法同起点。 Route end. |
waypoints | array | [] | 途经点,按顺序经过。仅驾车,最多 16 个。 Driving only, up to 16. |
city | string | "" | 地区提示,用于区分同名地点。 Disambiguates a shared place name. |
travelMode | select | driving | driving、walking、bicycling、electrobike、transit。 |
avoidTolls | boolean | false | 避开收费路段。仅驾车。 Driving only. |
avoidHighways | boolean | false | 不走高速。仅驾车。 Driving only. |
licensePlate | string | "" | 车牌号,如 京A12345,用于限行判断。仅驾车。Enables the plateRestricted flag. |
avoidAreas | array | [] | 避让区域,每行一个封闭区域(≥3 个坐标点,分号分隔)。仅驾车。 Geofenced areas to route around. |
nightBus | boolean | false | 优先夜班线路。仅公交。 Transit only. |
transitPreference | select | fastest | fastest 最快到达、fewestTransfers 最少换乘、leastWalking 最少步行、avoidSubway 不乘地铁。仅公交。 |
departureTime | string | "" | 出发时间 YYYY-MM-DD HH:MM,如 2026-08-29 07:30。仅公交。Scheduled departure. |
routeDetail | select | full | full 完整(逐步导航+路况+坐标)、overview 概览(无坐标,体积减约 63%)、summary 摘要(仅汇总)。 |
maxRoutes | integer | 全部 all | 最多返回几条路线(1–5)。不填返回该方式的全部方案:驾车最多 3 条,公交最多 5 种,步行 / 骑行 / 电动车最多 5 条。 Leave empty for all; caps route options. |
includeAlternatives | boolean | , | 已由 maxRoutes 取代。仍可使用:传 false 等同 maxRoutes: 1。Retired; still honoured, false means maxRoutes: 1. |
routePairs | array | [] | 批量:最多 10 组 {origin, destination, waypoints},并行计算。Batch mode. |
输出字段 / What Data Can You Extract
每条记录 = 一次路线查询,包含请求回显与全部备选路线。
| 字段 Field | 说明 Description |
|---|---|
travelMode | 出行方式 / Travel mode |
origin / destination | 解析后的起终点:原始输入、经纬度、所属城市、adcode |
waypoints | 解析后的途经点 |
distanceMeters / durationSeconds | 最优路线的距离与耗时 |
distanceText / durationText | 可读格式,如 131.8 km、2 h 51 min |
straightLineDistanceMeters | 起终点直线距离(仅公交)/ Straight-line distance, transit only |
taxiCostYuan | 打车费估算(元)/ Taxi fare estimate |
routeCount / routes | 路线条数与详情 |
驾车路线 routes[]: distanceMeters、durationSeconds、tolls 过路费、tollDistanceMeters 收费里程、trafficLights 红绿灯数、plateRestricted 限行、regions[] 途经城市与区县(含 adcode)、polyline 完整坐标串、steps[] 逐步导航。
驾车 steps[]: instruction 导航文本、road 道路名、orientation 方向、distanceMeters、durationSeconds、action / assistantAction 转向动作、tolls / tollDistanceMeters / tollRoad 收费道路名(如 S15京津高速)、trafficLights、polyline、traffic[] 实时路况分段(status 畅通/缓行/拥堵 + 距离 + 坐标)。
步行 / 骑行 / 电动车 steps[]: 同上,另有 pathType 道路类型。
Same shape, plus pathType.
公交方案 routes[]: durationSeconds、costYuan 票价、distanceMeters、walkingDistanceMeters 步行距离、nightBus、missedLastService 是否已过末班、serviceAlerts[] 运营提示、segments[] 换乘分段。
公交 segments[]: walking 步行段(起终点 + 逐步)、entrance / exit 车站出入口、buslines[] 线路(线路名、类型、上下车站、途经站、首末班车、本站首末班、timetableTag、坐标)、railway 铁路段(车次、席别票价 seatClasses[]、途经站与停留时间、始发/终到标记、备选车次)、taxi 打车段。
输出示例, 驾车(含限行与收费道路)/ Output example, driving
{"travelMode": "driving","origin": {"query": "望京SOHO","latitude": 39.996171,"longitude": 116.470293,"matchedCity": "北京市","adcode": "110105"},"destination": {"query": "天津站","latitude": 39.135951,"longitude": 117.210089,"matchedCity": "天津市","adcode": "120105"},"waypoints": [],"distanceMeters": 131827,"durationSeconds": 10297,"distanceText": "131.8 km","durationText": "2 h 51 min","straightLineDistanceMeters": null,"taxiCostYuan": 440.0,"routeCount": 3,"routes": [{"distanceMeters": 131827,"durationSeconds": 10297,"tolls": 41.0,"tollDistanceMeters": 72183,"trafficLights": 29,"plateRestricted": true,"regions": [{"city": "北京城区","adcode": "110100","cityCode": "010","districts": [{"name": "朝阳区","adcode": "110105"},{"name": "通州区","adcode": "110112"}]},{"city": "天津城区","adcode": "120100","cityCode": "022","districts": [{"name": "武清区","adcode": "120114"},{"name": "北辰区","adcode": "120113"},{"name": "红桥区","adcode": "120106"},{"name": "南开区","adcode": "120104"},{"name": "和平区","adcode": "120101"},{"name": "河北区","adcode": "120105"}]}],"polyline": "116.470334,39.996505;116.469996,39.996741;...","steps": [{"instruction": "向西北行驶39米左转","road": null,"orientation": "西北","distanceMeters": 39,"durationSeconds": 20,"action": "左转","assistantAction": null,"tolls": 0.0,"tollDistanceMeters": 0,"tollRoad": null,"trafficLights": 0,"polyline": "116.470334,39.996505;116.469996,39.996741;...","traffic": [{"status": "未知","distanceMeters": 39,"polyline": "116.470334,39.996505;116.469996,39.996741;..."}]},{"instruction": "沿S15京津高速向东南行驶132米靠左","road": "S15京津高速","orientation": "东南","distanceMeters": 132,"durationSeconds": 11,"action": "靠左","assistantAction": null,"tolls": 13.0,"tollDistanceMeters": 132,"tollRoad": "S15京津高速","trafficLights": 0,"polyline": "116.598077,39.816888;116.598506,39.816598;...","traffic": [{"status": "畅通","distanceMeters": 132,"polyline": "116.598077,39.816888;116.598506,39.816598;..."}]}]},"... 另有 2 条备选方案 / 2 more route options"]}
输出示例, 公交(含运营提示)/ Output example, transit
{"travelMode": "transit","origin": {"query": "望京SOHO","latitude": 39.99,"longitude": 116.481,"matchedCity": "北京市","adcode": "110105"},"destination": {"query": "国贸","latitude": 39.908,"longitude": 116.434,"matchedCity": "北京市","adcode": "110101"},"waypoints": [],"distanceMeters": 14425,"durationSeconds": 3035,"distanceText": "14.4 km","durationText": "50 min","straightLineDistanceMeters": 13124,"taxiCostYuan": 38.0,"routeCount": 5,"routes": [{"durationSeconds": 3410,"costYuan": 6.0,"distanceMeters": 13404,"walkingDistanceMeters": 1051,"nightBus": false,"missedLastService": false,"serviceAlerts": [{"lineId": "110100023282","lineName": "地铁10号线内环","lineType": "2","severity": "提示","message": "地铁10号线内环2026年8月28日至8月30日国家体育场活动期间,每日散场阶段列车运行间隔缩短至3分30秒左右","startStatus": [],"startDescription": [],"endStatus": [],"endDescription": []}],"segments": [{"walking": {"distanceMeters": 250,"durationSeconds": 248,"from": {"latitude": 39.98999,"longitude": 116.48101},"to": {"latitude": 39.989414,"longitude": 116.478966},"steps": [{"instruction": "步行61米向右前方直行","road": null,"distanceMeters": 61,"durationSeconds": null,"action": "向右前方直行","assistantAction": null,"polyline": "116.481010,39.989990;116.480751,39.989815;..."},{"instruction": "步行13米右转","road": null,"distanceMeters": 13,"durationSeconds": null,"action": "右转","assistantAction": null,"polyline": "116.480560,39.989597;116.480461,39.989506;..."}]},"entrance": null,"exit": null,"buslines": [{"name": "536路(屏翠西路东口--左家庄)","type": "普通公交线路","lineId": "110100013995","departureStop": {"name": "阜通东大街东口","stopId": "110100013995009","latitude": 39.989306,"longitude": 116.479062},"arrivalStop": {"name": "地铁三元桥站","stopId": "110100013995017","latitude": 39.962513,"longitude": 116.458498},"distanceMeters": 4195,"durationSeconds": 1042,"firstServiceTime": "0530","lastServiceTime": "2200","stationFirstTime": "0542","stationLastTime": "2213","timetableTag": "0","viaStopCount": 7,"viaStops": [{"name": "阜通东大街","stopId": "110100013995010","latitude": 39.987257,"longitude": 116.476632}],"polyline": "116.479062,39.989306;116.479001,39.989251;..."}],"railway": null,"taxi": null},{"walking": {"distanceMeters": 308,"durationSeconds": 277,"from": {"latitude": 39.962509,"longitude": 116.458496},"to": {"latitude": 39.960751,"longitude": 116.457153},"steps": [{"instruction": "沿京密路步行36米右转","road": "京密路","distanceMeters": 36,"durationSeconds": null,"action": "右转","assistantAction": null,"polyline": "116.458496,39.962509;116.458359,39.962383;..."},{"instruction": "步行9米到达目的地","road": null,"distanceMeters": 9,"durationSeconds": null,"action": null,"assistantAction": "到达目的地","polyline": "116.458214,39.962254;116.458130,39.962311;..."}]},"entrance": {"name": "E2口","latitude": 39.962311,"longitude": 116.458131},"exit": null,"buslines": [{"name": "地铁10号线内环(巴沟--巴沟)","type": "地铁线路","lineId": "110100023282","departureStop": {"name": "三元桥","stopId": "110100023282015","latitude": 39.960747,"longitude": 116.457152},"arrivalStop": {"name": "国贸","stopId": "110100023282021","latitude": 39.909104,"longitude": 116.461841},"distanceMeters": 6050,"durationSeconds": 870,"firstServiceTime": null,"lastServiceTime": null,"stationFirstTime": "0506","stationLastTime": "2324","timetableTag": "0","viaStopCount": 5,"viaStops": [{"name": "亮马桥","stopId": "110100023282016","latitude": 39.949381,"longitude": 116.462156}],"polyline": "116.457152,39.960747;116.456589,39.960269;..."}],"railway": null,"taxi": null},{"walking": {"distanceMeters": 245,"durationSeconds": 283,"from": {"latitude": 39.909103,"longitude": 116.461838},"to": {"latitude": 39.908424,"longitude": 116.459702},"steps": [{"instruction": "步行228米到达国贸","road": null,"distanceMeters": 228,"durationSeconds": null,"action": null,"assistantAction": "到达国贸","polyline": "116.461838,39.909103;116.461838,39.908962;..."}]},"entrance": null,"exit": {"name": "C西南口","latitude": 39.908082,"longitude": 116.434354},"buslines": [{"name": "地铁1号线八通线(环球度假区--苹果园)","type": "地铁线路","lineId": "110100023111","departureStop": {"name": "国贸","stopId": "110100023111005","latitude": 39.908421,"longitude": 116.459707},"arrivalStop": {"name": "建国门","stopId": "110100023111007","latitude": 39.908555,"longitude": 116.434648},"distanceMeters": 2140,"durationSeconds": 420,"firstServiceTime": "0509","lastServiceTime": "2234","stationFirstTime": "0501","stationLastTime": "2336","timetableTag": "0","viaStopCount": 1,"viaStops": [{"name": "永安里","stopId": "110100023111006","latitude": 39.908472,"longitude": 116.45033}],"polyline": "116.459707,39.908421;116.458485,39.908425;..."}],"railway": null,"taxi": null},{"walking": {"distanceMeters": 248,"durationSeconds": 270,"from": {"latitude": 39.908554,"longitude": 116.434647},"to": {"latitude": 39.908047,"longitude": 116.433998},"steps": [{"instruction": "步行206米","road": null,"distanceMeters": 206,"durationSeconds": null,"action": null,"assistantAction": null,"polyline": "116.434647,39.908554;116.433716,39.908554;..."},{"instruction": "步行1米到达目的地","road": null,"distanceMeters": 1,"durationSeconds": null,"action": null,"assistantAction": "到达目的地","polyline": "116.434357,39.908073;116.434357,39.908081;..."}]},"entrance": null,"exit": null,"buslines": [],"railway": null,"taxi": null}]},"... 另有 4 条备选方案 / 4 more route options"]}
公交步行段的转向动作,数据源以0x02一类代码返回。本 Actor 已将其还原为可读文本(右转、左转、向左前方直行、向右前方直行),instruction中的代码一并替换。极少数无法确证含义的代码保留原值,不做猜测。
Transit walking manoeuvres arrive as raw codes; the resolvable ones are restored to readable text.
进阶用法 / Advanced Usage
通行时间矩阵 / Travel-time matrix
路线坐标约占驾车结果的一半以上。只要距离和耗时的话,用 routeDetail: "summary" + maxRoutes: 1,每条记录可从约 100 KB 降到约 1 KB。
Shrinks each record ~100×.
需要逐步导航和路况但不需要坐标时,用 routeDetail: "overview"。
驾车与公交对比 / Compare driving vs transit
同一组起终点运行两次,切换 travelMode,比较 durationSeconds 与 costYuan / taxiCostYuan。
末端配送用骑行与电动车 / Cycling and e-bike for last-mile
{"origin": "望京SOHO","destination": "798艺术区","travelMode": "electrobike"}
坐标直接输入 / Coordinates in
{"origin": "116.481,39.990","destination": "116.434,39.908","travelMode": "driving"}
价格 / Pricing
按路线计费,Apify 套餐等级越高单价越低。只有成功返回结果的路线才计费:查询失败或无法规划的起终点不计费,同一次查询的所有备选路线不额外收费。一条路线 = 一组起终点 + 一种出行方式。当前单价与折扣见本 Actor 页面。
批量运行按起终点组数计费(每次最多 10 组)。
Billed per successful route; failures are free.
常见问题 / FAQ
高德有官方路线规划 API 吗?Does AMap have an official directions API? 有,但对境外开发者基本不可用:高德开放平台的 Key 需要中国实名认证的企业或个人账号,且有严格的日配额与 QPS 限制,超出即返回错误。本 Actor 不需要 Key、不需要中国账号,返回的字段比官方基础接口更完整(含实时路况分段、限行判断、公交运营提示、铁路席别票价),并且直接输出 JSON/CSV/Excel。
高德地图(Gaode / Autonavi)是什么?What is AMap? 高德地图是中国使用量最大的地图导航平台,隶属阿里巴巴,对中国大陆的道路、路况和公共交通覆盖远超 Google Maps。本 Actor 把高德的路线规划能力转成结构化 JSON。
需要高德 Key 或中国账号吗? 不需要。填入起终点直接运行,无需开发者 Key、中国手机号或登录。官方 Key 在境外很难申请且有配额限制,这也是本 Actor 存在的意义。
支持哪些出行方式? 驾车、公交地铁、步行、骑行、电动车。驾车返回最多 3 条含实时路况的备选路线;公交返回完整多段换乘方案,含地铁、公交与城际铁路。
含实时路况吗? 含。每条驾车路线的每一步都带路况状态与红绿灯数量,耗时反映当前路况。
限行判断准确吗? 填入车牌后,高德按该车牌尾号与所在城市当天的限行规则判断,外地车牌按当地对外埠车辆的规定处理。不填车牌时不返回该字段,,不返回好过给出错误的"未限行"。
能填地点名还是只能填坐标?
都可以。地点名、俗称(鸟巢)、详细地址会自动解析,也可直接传 经度,纬度 坐标用于精确上下车点。
用的什么坐标系?
GCJ-02(火星坐标),高德与微信在中国境内通用,按 经度,纬度 顺序原样返回。直接传 WGS-84 原始 GPS 坐标会有偏移,建议用 GCJ-02 或地点名。
能一次算很多条路线吗?
可以。用 routePairs 传入多组起终点,一次运行全部算完,按组计费,适合做通行时间或距离矩阵。
公交包含高铁和跨城吗? 包含。两点在不同城市时,公交方案会返回城际铁路与长途段,带车次、停靠站、席别票价和运营时间。
中国路线为什么不用 Google Maps?Why not Google Maps for China? Google Maps 在中国大陆的路线与数据稀疏且更新滞后。准确的中国路况、路网与公交数据在高德和百度。
能定时运行或导出到 Google Sheets 吗? 可以。在 Apify 控制台按任意周期定时运行,并通过 Webhook 或 API 接入 Google Sheets、Make、Zapier 或自有服务。
怎么导出数据? 在运行的 Storage 标签下载 JSON、CSV、Excel、XML 或 HTML,或通过 Apify API 拉取。嵌套字段(路线、逐步导航、公交分段)建议用 JSON。
使用高德路线数据合法吗? 本 Actor 处理的是公开可得的路线规划信息。使用方式由使用者负责,包括遵守高德服务条款与适用法律。规模化部署前请先评估你的使用场景。
More Zen Studio scrapers for maps & local data
AMap 高德地图
Baidu Maps 百度地图
Google Maps
Apple Maps
Yandex Maps Яндекс Карты
2GIS 2ГИС
Naver Map & Place 네이버 지도
Bing Maps
支持 / Support
- 问题反馈 Bugs: Issues tab
- 功能建议 Features: Issues tab
合规 / Legal Compliance
本 Actor 使用公开可得的路线规划信息。使用者须遵守高德地图(Gaode / 高德地图)服务条款及适用的数据保护法规,包括 GDPR、CCPA 与中国《个人信息保护法》(PIPL)。
Publicly available routing information; comply with AMap terms.
高德地图路线规划:全国范围的驾车、公交地铁、步行、骑行、电动车路线,含距离、耗时、过路费、实时路况、限行判断、逐步导航与公交换乘方案,结构化 JSON 输出。Get driving, transit, walking, cycling and e-bike directions from AMap (Gaode / 高德地图) for anywhere in China as structured JSON.
