maps_direction_walking
Plan walking routes between two coordinates within 100km, providing detailed walking commute data and directions for pedestrian navigation.
Instructions
步行路径规划 API 可以根据输入起点终点经纬度坐标规划100km 以内的步行通勤方案,并且返回通勤方案的数据
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | 出发点经度,纬度,坐标格式为:经度,纬度 | |
| destination | Yes | 目的地经度,纬度,坐标格式为:经度,纬度 |
Implementation Reference
- build/index.js:494-541 (handler)The handler function that executes the maps_direction_walking tool logic by calling the AMap API for walking directions and formatting the response.async function handleWalking(origin, destination) { const url = new URL("https://restapi.amap.com/v3/direction/walking"); url.searchParams.append("key", AMAP_MAPS_API_KEY); url.searchParams.append("origin", origin); url.searchParams.append("destination", destination); url.searchParams.append("source", "ts_mcp"); const response = await fetch(url.toString()); const data = await response.json(); if (data.status !== "1") { return { content: [{ type: "text", text: `Direction Walking failed: ${data.info || data.infocode}`, }], isError: true, }; } return { content: [{ type: "text", text: JSON.stringify( { route: { origin: data.route.origin, destination: data.route.destination, paths: data.route.paths.map((path) => { return { distance: path.distance, duration: path.duration, steps: path.steps.map((step) => { return { instruction: step.instruction, road: step.road, distance: step.distance, orientation: step.orientation, duration: step.duration, }; }), }; }), }, }, null, 2, ), }], isError: false, };
- build/index.js:98-116 (schema)The input schema and metadata definition for the maps_direction_walking tool.const WALKING_TOOL = { name: "maps_direction_walking", description: "步行路径规划 API 可以根据输入起点终点经纬度坐标规划100km 以内的步行通勤方案,并且返回通勤方案的数据", inputSchema: { type: "object", properties: { origin: { type: "string", description: "出发点经度,纬度,坐标格式为:经度,纬度", }, destination: { type: "string", description: "目的地经度,纬度,坐标格式为:经度,纬度", }, }, required: ["origin", "destination"], }, };
- build/index.js:878-881 (registration)Registration and dispatching of the tool in the CallToolRequestSchema switch statement.case "maps_direction_walking": { const { origin, destination } = request.params.arguments; return await handleWalking(origin, destination); }
- build/streamable-http.js:283-335 (handler)Identical handler implementation in the HTTP server version.async function handleWalking(origin, destination) { const AMAP_MAPS_API_KEY = getApiKey(); const url = new URL("https://restapi.amap.com/v3/direction/walking"); url.searchParams.append("key", AMAP_MAPS_API_KEY); url.searchParams.append("origin", origin); url.searchParams.append("destination", destination); url.searchParams.append("source", "ts_mcp"); const response = await fetch(url.toString()); const data = await response.json(); if (data.status !== "1") { return { content: [ { type: "text", text: `Direction Walking failed: ${data.info || data.infocode}`, }, ], isError: true, }; } return { content: [ { type: "text", text: JSON.stringify( { route: { origin: data.route.origin, destination: data.route.destination, paths: data.route.paths.map((path) => { return { distance: path.distance, duration: path.duration, steps: path.steps.map((step) => { return { instruction: step.instruction, road: step.road, distance: step.distance, orientation: step.orientation, duration: step.duration, }; }), }; }), }, }, null, 2, ), }, ], isError: false, };
- build/streamable-http.js:742-760 (schema)Identical schema definition in the HTTP server version.const WALKING_TOOL = { name: "maps_direction_walking", description: "步行路径规划 API 可以根据输入起点终点经纬度坐标规划100km 以内的步行通勤方案,并且返回通勤方案的数据", inputSchema: { type: "object", properties: { origin: { type: "string", description: "出发点经度,纬度,坐标格式为:经度,纬度", }, destination: { type: "string", description: "目的地经度,纬度,坐标格式为:经度,纬度", }, }, required: ["origin", "destination"], }, };