Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

高德地图综合服务 Skill

高德地图综合服务向开发者提供完整的地图数据服务,包括地点搜索、路径规划、旅游规划和数据可视化等功能。

功能特性

  • ✅ 自动管理高德 Web Service Key
  • ✅ POI 搜索功能
  • ✅ 路径规划(步行、驾车、骑行、公交)
  • ✅ 智能旅游规划助手
  • ✅ 地图可视化链接生成
  • ✅ 热力图数据可视化
  • ✅ 支持命令行脚本执行
  • ✅ 配置本地持久化

安装依赖

npm install

配置 API Key

首次使用需要配置高德 Web Service Key:

# 方式1: 运行时通过环境变量
export AMAP_WEBSERVICE_KEY=your_key
node scripts/poi-search.js --keywords=肯德基 --city=北京

# 方式2: 运行时自动提示输入(会保存到 config.json)
node scripts/poi-search.js --keywords=肯德基 --city=北京

# 方式3: 手动创建配置文件
cp config.example.json config.json
# 然后编辑 config.json 填入你的 Key

获取 API Key:访问 高德开放平台 创建应用并获取 Key

使用方法

1. POI 搜索

# 基础搜索
node scripts/poi-search.js --keywords=肯德基 --city=北京

# 带更多参数的搜索
node scripts/poi-search.js --keywords=餐厅 --city=上海 --page=1 --offset=20

# 周边搜索(需要提供中心点坐标和半径)
node scripts/poi-search.js --keywords=酒店 --location=116.397428,39.90923 --radius=1000

2. 路径规划

# 步行路线
node scripts/route-planning.js --type=walking --origin=116.397428,39.90923 --destination=116.427281,39.903719

# 驾车路线(带途经点)
node scripts/route-planning.js --type=driving --origin=116.397428,39.90923 --destination=116.427281,39.903719 --waypoints=116.410000,39.910000

# 骑行路线
node scripts/route-planning.js --type=riding --origin=116.397428,39.90923 --destination=116.427281,39.903719

# 公交路线
node scripts/route-planning.js --type=transfer --origin=116.397428,39.90923 --destination=116.427281,39.903719 --city=北京

3. 智能旅游规划

# 基础旅游规划
node scripts/travel-planner.js --city=北京 --interests=景点,美食,酒店

# 指定路线类型
node scripts/travel-planner.js --city=杭州 --interests=西湖,美食,茶馆 --routeType=walking

# 驾车游览
node scripts/travel-planner.js --city=上海 --interests=外滩,南京路,城隍庙 --routeType=driving

4. 在代码中使用

const { 
  searchPOI, 
  walkingRoute, 
  drivingRoute, 
  travelPlanner,
  generateMapLink 
} = require('./index');

// POI 搜索
async function searchExample() {
  const result = await searchPOI({
    keywords: '肯德基',
    city: '北京',
    page: 1,
    offset: 10
  });
  console.log(result);
}

// 步行路线规划
async function routeExample() {
  const result = await walkingRoute({
    origin: '116.397428,39.90923',
    destination: '116.427281,39.903719'
  });
  console.log(result);
}

// 旅游规划
async function travelExample() {
  const result = await travelPlanner({
    city: '北京',
    interests: ['景点', '美食', '酒店'],
    routeType: 'walking'
  });
  console.log(result.mapLink); // 地图可视化链接
}

// 生成地图链接
function mapLinkExample() {
  const mapData = [
    { 
      type: 'poi', 
      lnglat: [116.397428, 39.90923], 
      sort: '风景名胜', 
      text: '故宫博物院', 
      remark: '明清两代的皇家宫殿' 
    },
    {
      type: 'route',
      routeType: 'walking',
      start: [116.397428, 39.90923],
      end: [116.427281, 39.903719],
      remark: '步行路线'
    }
  ];
  
  const link = generateMapLink(mapData);
  console.log(link);
}

API 参数说明

POI 搜索参数

参数 类型 必填 说明
keywords string 是 查询关键字
city string 否 城市名称或城市编码
types string 否 POI类型编码,多个用|分隔
location string 否 中心点坐标(经度,纬度)
radius number 否 搜索半径,单位:米
page number 否 当前页数,默认1
offset number 否 每页记录数,默认10,最大25

路径规划参数

步行路线 (walkingRoute)

参数 类型 必填 说明
origin string 是 起点坐标 "经度,纬度"
destination string 是 终点坐标 "经度,纬度"

驾车路线 (drivingRoute)

参数 类型 必填 说明
origin string 是 起点坐标 "经度,纬度"
destination string 是 终点坐标 "经度,纬度"
waypoints string 否 途经点,多个用;分隔,最多16个
strategy number 否 驾车策略,默认10(躲避拥堵)

骑行路线 (ridingRoute)

参数 类型 必填 说明
origin string 是 起点坐标 "经度,纬度"
destination string 是 终点坐标 "经度,纬度"

公交路线 (transitRoute)

参数 类型 必填 说明
origin string 是 起点坐标 "经度,纬度"
destination string 是 终点坐标 "经度,纬度"
city string 是 城市名称或城市编码
strategy number 否 公交策略,0-5,默认0(最快捷)
nightflag boolean 否 是否计算夜班车,默认false

旅游规划参数 (travelPlanner)

参数 类型 必填 说明
city string 是 城市名称
interests array 否 兴趣点关键词数组,默认['景点','美食']
routeType string 否 路线类型:walking/driving/riding/transfer,默认walking

项目结构

jsapi-skills/
├── index.js                    # 主入口文件,包含核心功能
├── scripts/
│   ├── poi-search.js           # POI 搜索脚本
│   ├── route-planning.js       # 路径规划脚本
│   └── travel-planner.js       # 智能旅游规划脚本
├── config.json                 # 配置文件(自动生成,不要提交)
├── config.example.json         # 配置示例
├── package.json                # 依赖配置
├── .gitignore                  # Git 忽略配置
├── SKILL.md                    # OpenClaw Skill 描述文件
└── README.md                   # 本文件

地图可视化

所有规划结果都会生成地图可视化链接,格式如下:

https://a.amap.com/jsapi_demo_show/static/openclaw/travel_plan.html?data=<encoded_json_data>

数据格式符合 MapTaskData 接口规范,支持:

  • POI 任务:展示兴趣点位置和信息
  • 路线任务:展示路径规划结果

示例数据结构:

[
  // POI 兴趣点
  { 
    type: 'poi', 
    lnglat: [116.397428, 39.90923], 
    sort: '风景名胜', 
    text: '故宫博物院', 
    remark: '明清两代的皇家宫殿,旧称紫禁城。' 
  },
  // 路线规划
  {
    type: 'route',
    routeType: 'walking',
    start: [116.397428, 39.90923],
    end: [116.427281, 39.903719],
    remark: '步行路线'
  }
]

注意事项

  1. 请妥善保管你的 Web Service Key,不要提交到公开仓库
  2. config.json 已在 .gitignore 中,不会被提交
  3. 高德 Web 服务 API 有调用频率限制,请合理使用
  4. 免费用户每日调用量有限制,具体请查看高德开放平台说明

相关链接

License

MIT

About

适用于openclaw平台的高德地图综合服务,支持POI搜索、路径规划、旅游规划、周边搜索和热力图数据可视化

Resources

Stars

94 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages