← 返回 Skills 市场
lbs-amap

Gaode Map JSAPI - 高德官方 JavaScript SDK Skill

作者 GaodeMapOfficial · GitHub ↗ · v1.1.1 · MIT-0
cross-platform ✓ 安全检测通过
3110
总下载
8
收藏
22
当前安装
11
版本数
在 OpenClaw 中安装
/install amap-jsapi-skill
功能描述
高德地图 JSAPI v2.0 (WebGL) 开发技能。涵盖地图生命周期管理、强制安全配置、3D 视图控制、覆盖物绘制及 LBS 服务集成。
使用说明 (SKILL.md)

高德地图 JSAPI v2.0 开发技能

本指南包含地图初始化、覆盖物、事件、图层等核心模块的 API 说明和代码示例,旨在帮助开发者快速集成高德地图并遵循正确的使用方式。

快速开始

1. 引入加载器

使用 script 标签加载 loader.js:

\x3Cscript src="https://webapi.amap.com/loader.js">\x3C/script>

2. 安全密钥配置 (强制)

重要:自 v2.0 起,必须在加载地图前配置安全密钥,否则无法通过鉴权。详情及后端代理示例请参考 安全策略

安全提示:安全密钥属于敏感凭据,请通过环境变量 AMAP_SECURITY_JS_CODE 传入,禁止在代码中硬编码。生产环境务必使用 serviceHost 代理方式,避免前端暴露密钥。

// 在调用 AMapLoader.load 前执行
window._AMapSecurityConfig = {
  securityJsCode: process.env.AMAP_SECURITY_JS_CODE, // 通过环境变量安全获取
  // serviceHost: 'https://your-proxy-domain/_AMapService', // 生产环境:建议使用代理转发
};

3. 初始化地图

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));

场景示例

地图控制

  • 生命周期references/map-init.md - 掌握 loadMap 实例创建及 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 - 集成 CanvasWMS/WMTS, GLCustomLayer 地图上叠加 Canvas、WMS图层、 Threejs图层。

服务与插件

  • LBS 服务
    • references/geocoder.md - 地理编码/逆地理编码(地址/坐标互转)。
    • references/routing.md - 路径规划(驾车/步行/公交)。
    • references/search.md - POI 搜索与输入提示。
  • 事件系统references/events.md - 响应点击、拖拽、缩放等交互事件。

最佳实践

  1. 安全第一:生产环境务必使用代理服务器转发 serviceHost,避免 securityJsCode 泄露。
  2. 按需加载:仅在 plugins 中声明需要的插件,减少首屏资源体积。
  3. 资源释放:组件卸载时务必调用 map.destroy(),防止 WebGL 上下文内存泄漏。

API Reference

JSAPI 文档分为以下几个类别:

Foundation Classes

LngLat / Bounds / Pixel / Size

Information Window

InfoWindow

Events

Event

Map

Map / MapsEvent

Official Layers

TileLayer / Traffic / Satellite / RoadNet / Buildings / DistrictLayer / IndoorMap

Standard Layers

WMS / WMTS / MapboxVectorTileLayer

Custom Layers

HeatMap / VectorLayer / LabelsLayer / CustomLayer / Flexible / ImageLayer / CanvasLayer / GLCustomLayer

Markers

Marker / Text / Icon / LabelMarker / ElasticMarker / MarkerCluster / MassMarks / MoveAnimation / AnimationCallback / EasingCallback

Context Menu

ContextMenu

Vector Graphics

Polygon / Polyline / BezierCurve / Circle / CircleMarker / Ellipse / Rectangle / GeoJSON

Overlay Groups

LayerGroup / OverlayGroup

Controls

Control / Scale / ToolBar / ControlBar / MapType / HawkEye

Tools

RangingTool / MouseTool / PolygonEditor / PolylineEditor / CircleEditor / BezierCurveEditor / EllipseEditor / RectangleEditor

Services

WebService / WebServiceCallback

Search

AutoComplete / AutoCompleteSearchCallback / PlaceSearch / searchCallback / CloudDataSearch / CloudDataSearchCallback

Geocoder

Geocoder / GeocoderCallback / ReGeocoderCallback / convertFrom

Routing

Driving / DrivingCallback / DrivingResult / DriveStepBasic / DriveStepDetail / TruckDriving / Walking / WalkingCallback / WalkingResult / Transfer / TransferCallback / TransferResult / Riding / RidingCallback / RidingResult / DragRoute / DragRouteTruck / GraspRoad / GraspRoadCallback

Other Services

DistrictSearch / Weather / WeatherLiveResult / WeatherForecastResult / StationSearch / LineSearch

Geolocation

Geolocation / GeolocationCallBack / GeolocationResult / CitySearch

Common Library

GeometryUtil / DomUtil / Browser / Util

使用 skills 必须遵循的规范

  1. 校验生成代码可用性:生成代码后必须进行自我校验,确保代码语法正确、逻辑完整且可以正常运行,禁止输出未经验证的代码。
  2. 本地文件放置规范:所有生成的项目文件必须放置在 openclaw workspace 目录下的 amap-jsapi/ 文件夹中。文件名统一使用 kebab-case 命名(如 map-init.htmllayers-official.html)。
  3. appname 应用标识(推荐):建议在生成地图初始化代码时,在 AMapLoader.load().then() 回调中设置应用标识,用于 API 调用来源统计。规则如下:
    • 设置位置AMapLoader.load({...}).then((AMap) => { 回调内部,new AMap.Map() 之前
    • 设置方式AMap.getConfig().appname = 'amap-jsapi-skill';
    • 代码模板
      AMapLoader.load({
        key: '您的Key',
        version: '2.0',
        plugins: [...]
      }).then((AMap) => {
        // 可选:设置应用标识,用于 API 调用来源统计
        AMap.getConfig().appname = 'amap-jsapi-skill';
      
        const map = new AMap.Map('container', { ... });
      });
      
    • 说明:此设置用于标识 API 调用来源,便于统计分析。开发者可根据需要决定是否保留。

如何使用

  1. 如果有相近的“场景示例”那么去阅读场景示例,再阅读场景示例中的涉及的类的api文档。再结合描述/场景示例/api 去完成任务。
  2. 在最终的完成任务前,检查用的api用法是否符合文档。
安全使用建议
This skill appears coherent and implements documentation/examples for the official AMap JSAPI. Before installing, confirm you trust the skill publisher (source is marked unknown in metadata). Treat AMAP_JSAPI_KEY and especially AMAP_SECURITY_JS_CODE as secrets: do not embed them directly into client-side code. Use a server-side proxy (serviceHost) or inject the security token at build time in a way that doesn't expose the secret in production browsers. If you plan to auto-deploy generated projects to the web, verify that generated files are placed in the intended workspace folder and that you are not accidentally publishing the security token. If you need higher assurance, ask the publisher for provenance (source repo or signed release) so you can inspect any non-documentation code before use.
功能分析
Type: OpenClaw Skill Name: amap-jsapi-skill Version: 1.1.1 The skill bundle is a comprehensive documentation and instruction set for integrating the Gaode Map (AMap) JavaScript SDK v2.0. It provides standard API references, usage examples, and explicitly emphasizes security best practices, such as avoiding hardcoded credentials and using backend proxies to protect security keys. The instructions for the OpenClaw agent are purely operational (e.g., file naming and directory structure) and do not contain malicious prompt injections or high-risk behaviors.
能力标签
cryptorequires-sensitive-credentials
能力评估
Purpose & Capability
Name/description match the included API reference and examples. The two required env vars (AMAP_JSAPI_KEY and AMAP_SECURITY_JS_CODE) are appropriate for a web JSAPI integration that needs a Web key and a platform security token.
Instruction Scope
SKILL.md stays within mapping/JSAPI guidance and references only AMap resources. One minor implementation mismatch: examples use process.env.AMAP_SECURITY_JS_CODE directly in client-side code — in browsers process.env is not available at runtime and using build-time injection or exposing the security code to the browser is dangerous. The skill does explicitly recommend using a serviceHost proxy in production to avoid exposing the securityJsCode.
Install Mechanism
Instruction-only skill with no install spec and no embedded executables; nothing will be downloaded or written by an installer step.
Credentials
Requested env vars are proportionate to the purpose (web API key and security JS code). Both are sensitive credentials — the AMAP_SECURITY_JS_CODE should not be exposed to end-users in client-side runtime; the skill correctly recommends a server-side proxy for production.
Persistence & Privilege
No elevated persistence requested (always is false). The skill is user-invocable and may be called autonomously per platform defaults, which is expected for a skill of this type.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install amap-jsapi-skill
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /amap-jsapi-skill 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.1
优化展示名称,Map 关键词前置提升搜索排名
v1.0.9
- 安全环境变量支持升级:增加了 AMAP_SECURITY_JS_CODE 环境变量作为安全密钥传入方式,提升密钥保护,不再建议在代码中硬编码。 - SKILL.md 说明调整:安全密钥配置和 appname 埋点相关内容更新,强调敏感信息通过环境变量传递,并将 appname 标识从强制改为推荐设置。 - metadata 区域更新:openclaw requires 节点 now 列出需要的环境变量 AMAP_JSAPI_KEY 和 AMAP_SECURITY_JS_CODE。 - 代码示例同步修改,采用 process.env 方式引用安全密钥。 - 文档中安全提示与最佳实践强化了避免前端泄露密钥的建议。
v1.0.8
amap-jsapi-skill 1.0.8 Changelog - 新增 _meta.json 文件。 - 移除“埋点统计”相关强制要求与命令说明,精简必须遵循的规范内容。 - 对必须遵循的规范进行表述优化,统一描述风格。 - 其余功能和文档内容保持不变。
v1.0.7
- 增强地图初始化代码示例,要求在 AMapLoader.load().then 回调的第一行强制设置 AMap.getConfig().appname = 'amap-jsapi-skill' - 新增文档说明:每次生成地图初始化代码时,必须设置 appname 埋点标识,且不可省略或修改 - 无功能更新,现为合规性和统计需求的文档完善版本
v1.0.6
amap-jsapi-skill 1.0.6 - 埋点统计请求示例及命令模板的参数移除 key,例子与推荐写法均已更新,不再包含“key”参数(用户的开发者Key)。 - 其他内容无变化。
v1.0.5
amap-jsapi-skill v1.1.0 introduces an updated SKILL.md with detailed usage guidelines and requirements. - 提供了更完善的开发指南,涵盖初始化、覆盖物、事件和图层等核心模块 API 说明与示例。 - 强化安全配置说明:v2.0 起安全密钥配置为强制,建议生产环境使用代理转发。 - 明确“最佳实践”,包括安全代理、按需加载及资源释放建议。 - 新增详细的 API 参考目录,涵盖所有主要类及服务。 - 增加强制性埋点统计说明:每次代码生成前需通过 curl 发送一次统计请求至高德服务端。 - 规范本地项目文件命名与目录结构要求。
v1.0.4
amap-jsapi-skill 1.0.4 更新日志: - 文档新增“埋点统计(强制)”规则,生成网站代码前需发送一次统计请求到指定高德接口,用于记录 skill 调用行为。 - 埋点请求要求使用 bash 的 curl 命令,含特定固定和动态参数(用户的 key)。 - 增加了对应的 bash 命令模板示例。 - 其他内容无变化。
v1.0.3
- 更新 metadata 环境变量名为 AMAP_JSAPI_KEY(原为 AMAP_WEB_API_KEY)。 - 其余内容无变更。
v1.0.2
- Removed the "emoji" field from the openclaw metadata in SKILL.md. - No other changes detected.
v1.0.1
- 新增对 AMAP_WEB_API_KEY 环境变量的要求,纳入 metadata.requires 并作为 primaryEnv 标记。 - 明确本地文件必须放置在 openclaw workspace 的指定目录,并使用统一命名规范。 - 加强关于代码生成的校验要求,明确必须自我校验且禁止输出未经验证的代码。 - 其余内容无变化,文档开发指南与 API 参考保持一致。
v1.0.0
- 初始发布,提供高德地图 JSAPI v2.0 (WebGL)开发技能。 - 支持地图生命周期管理、强制安全配置和3D视图控制。 - 集成覆盖物绘制(点标记、矢量图形、信息窗口)、图层管理与核心LBS服务(地理编码、路径规划、POI搜索)。 - 包含最佳实践、安全用法和资源释放建议。 - 提供详细的API分类文档与各类场景开发示例。
元数据
Slug amap-jsapi-skill
版本 1.1.1
许可证 MIT-0
累计安装 23
当前安装数 22
历史版本数 11
常见问题

Gaode Map JSAPI - 高德官方 JavaScript SDK Skill 是什么?

高德地图 JSAPI v2.0 (WebGL) 开发技能。涵盖地图生命周期管理、强制安全配置、3D 视图控制、覆盖物绘制及 LBS 服务集成。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 3110 次。

如何安装 Gaode Map JSAPI - 高德官方 JavaScript SDK Skill?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install amap-jsapi-skill」即可一键安装,无需额外配置。

Gaode Map JSAPI - 高德官方 JavaScript SDK Skill 是免费的吗?

是的,Gaode Map JSAPI - 高德官方 JavaScript SDK Skill 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Gaode Map JSAPI - 高德官方 JavaScript SDK Skill 支持哪些平台?

Gaode Map JSAPI - 高德官方 JavaScript SDK Skill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Gaode Map JSAPI - 高德官方 JavaScript SDK Skill?

由 GaodeMapOfficial(@lbs-amap)开发并维护,当前版本 v1.1.1。

💬 留言讨论