Install
openclaw skills install @thcjp/amap-jsapi-skillopenclaw skills install @thcjp/amap-jsapi-skill核心功能: 本技能提供中文交互、化集成场景等能力。
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| Amap Jsapi Skill涵盖地图生命周期管理 | 不支持 | 支持 |
| Amap Jsapi Skill强制安全配置 | 不支持 | 支持 |
| 深度漏洞扫描与CVE关联 | 不支持 | 支持 |
| 安全基线合规审计 | 不支持 | 支持 |
| 批量资产风险评分 | 不支持 | 支持 |
详细的输入输出格式请参考下方章节说明。
| 场景 | 输入 | 输出 |
|---|---|---|
| 地图初始化 | Web端Key与容器ID | 地图实例与控件状态 |
| 覆盖物绘制 | 坐标与样式参数 | Marker与Polygon对象 |
| 路径规划 | 起终点坐标 | 驾车与步行路线方案 |
不适用于:需要人工判断的复杂决策场景
使用 script 标签加载 loader.js:
<script src="https://webapi.amap.com/loader.js"></script>
重要:自 v2.0 起,必须在加载地图前配置安全密钥,否则无法通过鉴权。详情及后端代理示例请参考 安全策略.
安全提示:安全密钥属于敏感凭据,请通过环境变量
AMAP_SECURITY_JS_CODE传入,禁止在代码中硬编码。生产环境务必使用serviceHost代理方式,避免前端暴露密钥.
// 在调用 AMapLoader.load 前执行
window._AMapSecurityConfig = {
securityJsCode: process.env.AMAP_SECURITY_JS_CODE, // 通过环境变量安全获取
// serviceHost: 'https://your-proxy-domain/_AMapService', // 生产环境:建议使用代理转发
};
import AMapLoader from '@amap/amap-jsapi-loader';
AMapLoader.load({
key: '您的Web端开发者Key', // 必填
version: "2.0", // 指定版本
plugins: ['AMap.Scale', 'AMap.ToolBar'] // 预加载插件
}).then((AMap) => {
// 可选:设置应用标识,用于 API 调用来源统计
AMap.getConfig().appname = 'amap-jsapi-skill';
// ...
const map = new AMap.Map('container', {
viewMode: '3D', // 开启3D视图
zoom: 11, // 初始缩放级别
center: [116.39, 39.90] // 初始中心点
});
map.addControl(new AMap.Scale());
}).catch(e => console.error(e));
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 否 | 处理的内容输入 |
| mode | string | 否 | 处理模式, 可选值: json/text/markdown |
| style | string | 否 | 输出风格, 参考 references/style.md |
{
"success": true,
"data": {
"result": "处理结果",
"status": "success",
"metadata": {
"metadata": {
"template_used": "reviewer",
"word_count": 0,
"style": "专业"
}
},
"error": null
}
输出模板参考: assets/output.json
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
API Key配置方式:
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
references/map-init.md - 掌握 load、Map 实例创建及 destroy 销毁流程.references/view-control.md - 控制 zoom (缩放)、center (平移)、pitch (俯仰)、rotation (旋转).references/marker.md - 使用 Marker (基础)、LabelMarker (海量避让) 标注位置.references/vector-graphics.md - 绘制 Polyline (轨迹、线)、Polygon (区域、面)、Circle (范围、圆).references/info-window.md - 通过 InfoWindow 展示详细信息.references/context-menu.md - 自定义地图或覆盖物的右键交互.references/layers.md - 标准、卫星、路网及 3D 楼块图层.references/custom-layers.md - 集成 Canvas、WMS/WMTS, GLCustomLayer 地图上叠加 Canvas、WMS图层、 Threejs图层.references/geocoder.md - 地理编码/逆地理编码(地址/坐标互转).references/routing.md - 路径规划(驾车/步行/公交).references/search.md - POI 搜索与输入提示.references/events.md - 响应点击、拖拽、缩放等交互事件.A: 请参考使用流程和依赖说明章节,确保运行环境满足要求后调用本技能。
| 错误场景(续) | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 请求重试;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
|---|---|---|---|---|
| 地图初始化 | 15分钟 | 2分钟 | 13分钟 | 98% |
| 覆盖物绘制 | 20分钟 | 5分钟 | 15分钟 | 95% |
| 路径规划 | 30分钟 | 10分钟 | 20分钟 | 97% |
| 强制安全配置 | 60分钟 | 5分钟 | 55分钟 | 100% |
| LBS 服务集成 | 120分钟 | 15分钟 | 105分钟 | 99% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
|---|---|---|---|---|
| 操作便捷性 | 高 | 低 | 中 | 高 |
| 开发效率 | 高 | 低 | 中 | 高 |
| 准确性 | 高 | 中 | 中 | 高 |
| 学习成本 | 低 | 中 | 中 | 高 |
| 成本效益 | 高 | 低 | 中 | 高 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
|---|---|---|---|---|
| 地图配置复杂 | 地图配置复杂,耗时较多 | 影响开发进度 | 提供自动化配置工具 | 节省50%以上时间 |
| 安全配置困难 | 安全配置困难,易出错 | 影响系统安全 | 提供安全配置模板 | 提高安全配置正确率至100% |
| LBS 服务集成繁琐 | LBS 服务集成繁琐,开发难度大 | 影响应用功能实现 | 提供集成工具和示例代码 | 节省70%以上开发时间 |
A: 在地图上添加覆盖物,首先需要获取地图实例,然后使用 map.addOverlay() 方法添加对应的覆盖物对象,如 Marker 或 Polygon。
A: 进行路径规划,可以使用 AMap.Driving 或 AMap.Walking 对象进行驾车或步行路径规划,并调用其 search() 方法。
A: 设置地图的初始视图,可以在创建地图实例时通过 viewMode、zoom 和 center 属性进行设置。
A: 安全密钥配置需要在加载地图前进行,可以通过设置 window._AMapSecurityConfig 对象中的 securityJsCode 属性来配置。
A: LBS 服务集成可以通过调用高德地图 JSAPI 提供的相关接口实现,如 AMap.Location 进行位置定位,AMap.Search 进行搜索服务等。
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 地图无法加载 | 网络问题或密钥配置错误 | 检查网络连接和密钥配置 | 确保网络连接正常,并正确配置安全密钥 |
| 覆盖物无法添加 | 覆盖物配置错误 | 检查覆盖物参数配置 | 修正覆盖物参数,确保配置正确 |
| 路径规划失败 | 起终点坐标错误 | 检查起终点坐标 | 修正起终点坐标,确保坐标正确 |
| LBS 服务请求失败 | LBS 服务配置错误 | 检查 LBS 服务配置 | 修正 LBS 服务配置,确保配置正确 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| API密钥泄露 | 高 | 通过环境变量配置,禁止硬编码 | 定期检查代码和配置文件 |
| 命令执行风险 | 高 | 仅执行白名单命令,避免拼接用户输入 | 使用沙箱环境测试 |
| 网络通信安全 | 中 | 使用HTTPS协议,验证SSL证书 | 定期检查证书有效期 |
| 敏感数据暴露 | 高 | 输出结果中不包含密钥、令牌等敏感信息 | 日志脱敏审查 |
| 未授权访问 | 中 | 限制访问权限,实施认证机制 | 定期审计访问日志 |