🤖 支持平台:飞书 / 微信(文字)
地理编码、POI搜索、路径规划、导航距离等地理信息服务
使用前必须配置高德开放平台 API Key,否则无法运行!
配置方式:
export AMAP_API_KEY="your-key" 和 AMAP_SECRET_KEY="your-secret"(如需签名)cp config.example.txt config.txt 并填入 Keypython3 scripts/amap_geo.py --action geo --address "北京市朝阳区"详见下方「首次使用配置」章节。
当用户询问以下内容时,自动调用高德地理信息 API:
用户发送以下任一方式都会触发:
北京市朝阳区的经纬度附近有什么医院从国贸到中关村怎么走北京到上海多远搜索附近的餐厅定位一下高德部分 API 需要数字签名验证:
text
签名算法:MD5(key + params + secret) → 32位小写MD5值
步骤:
1. 将所有请求参数(除sign外)按key字母顺序排序
2. 拼接为:key1value1key2value2...
3. 在拼接字符串前加上 API Key,末尾加上 SecretKey
4. 对整个字符串计算 MD5
是否需要签名?
方式一:环境变量(推荐)
bash
export AMAP_API_KEY="your-api-key"
export AMAP_SECRET_KEY="your-secret-key" # 如需签名
方式二:配置文件
bash
cp config.example.txt config.txt
# 编辑 config.txt,填入你的 Key
bash
# 地理编码
python3 scripts/amap_geo.py --action geo --address "北京市朝阳区"
# POI搜索
python3 scripts/amap_geo.py --action poi --keywords "餐厅" --city "北京"
# 路径规划
python3 scripts/amap_geo.py --action direction --from "116.4074,39.9042" --to "116.4274,39.9042"
bash
# 地理编码(地址→坐标)
python3 scripts/amap_geo.py --action geo --address "北京市朝阳区"
# 逆地理编码(坐标→地址)
python3 scripts/amap_geo.py --action regeo --location "116.4074,39.9042"
# POI搜索
python3 scripts/amap_geo.py --action poi --keywords "餐厅" --city "北京"
# 周边搜索
python3 scripts/amap_geo.py --action around --location "116.4074,39.9042" --keywords "银行"
# 路径规划(驾车)
python3 scripts/amap_geo.py --action direction --from "116.4074,39.9042" --to "116.4274,39.9042"
# 距离测量
python3 scripts/amap_geo.py --action distance --from "116.4074,39.9042" --to "116.4274,39.9042"
输出格式化文本,便于阅读。
功能端点说明地理编码/v3/geocode/geo地址→坐标逆地理编码/v3/geocode/regeo坐标→地址POI搜索/v3/place/text关键字搜索周边搜索/v3/place/around圆形区域搜索驾车路径/v3/direction/driving驾车路线步行路径/v3/direction/walking步行路线公交路径/v3/direction/transit公交路线距离测量/v3/direction/material直线距离
text
签名 = MD5(api_key + sorted_params + secret_key)
text
amap_geoservice/
├── SKILL.md # 本文件
├── config.example.txt # 配置示例
├── scripts/ # 脚本目录
│ └── amap_geo.py # 主脚本
└── references/ # 参考文档
└── README.md # 详细说明
A: 检查 SecretKey 是否正确配置
A: 检查 API Key 类型是否为 Web服务,且已开通对应服务
A: 尝试更精确的关键字,或使用城市adcode限定范围
城市AdCode北京110000上海310000广州440100深圳440300成都510100武汉420100杭州330100
欢迎提交 Issue 和 PR!