amap-jsapi-skill
高德地図JSAPI v2.0 (WebGL)を活用し、地図の表示から操作、3D表現の制御、様々なオブジェクトの描画、位置情報サービスとの連携まで、地図に関する多様な機能をWebアプリケーションに組み込むことを支援するSkill。
📜 元の英語説明(参考)
高德地图 JSAPI v2.0 (WebGL) 开发技能。涵盖地图生命周期管理、强制安全配置、3D 视图控制、覆盖物绘制及 LBS 服务集成。
🇯🇵 日本人クリエイター向け解説
高德地図JSAPI v2.0 (WebGL)を活用し、地図の表示から操作、3D表現の制御、様々なオブジェクトの描画、位置情報サービスとの連携まで、地図に関する多様な機能をWebアプリケーションに組み込むことを支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o amap-jsapi-skill.zip https://jpskill.com/download/17157.zip && unzip -o amap-jsapi-skill.zip && rm amap-jsapi-skill.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17157.zip -OutFile "$d\amap-jsapi-skill.zip"; Expand-Archive "$d\amap-jsapi-skill.zip" -DestinationPath $d -Force; ri "$d\amap-jsapi-skill.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
amap-jsapi-skill.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
amap-jsapi-skillフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 34
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
高德地图 JSAPI v2.0 開発技能
本ガイドには、地図の初期化、オーバーレイ、イベント、レイヤーなどのコアモジュールの API 説明とコード例が含まれており、開発者が高德地图を迅速に統合し、正しい使用方法に従うことを目的としています。
快速开始
1. 導入ローダー
script タグを使用して loader.js をロードします。
<script src="https://webapi.amap.com/loader.js"></script>
2. 安全密钥配置 (必須)
重要: v2.0 以降、地図をロードする前に安全密钥を設定する必要があります。そうしないと、認証に合格できません。詳細およびバックエンドプロキシの例については、安全策略 を参照してください。
// 在调用 AMapLoader.load 前执行
window._AMapSecurityConfig = {
securityJsCode: '您的安全密钥', // 开发环境:明文设置
// 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) => {
// 埋点:设置应用标识,用于统计 skill 调用来源
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-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 レイヤーを重ねます。サービスとプラグイン
- LBS サービス:
references/geocoder.md- 地理コーディング/逆地理コーディング(住所/座標の相互変換)。references/routing.md- 経路計画(自動車/徒歩/公共交通機関)。references/search.md- POI 検索と入力ヒント。
- イベントシステム:
references/events.md- クリック、ドラッグ、ズームなどのインタラクションイベントに応答します。最佳实践
- 安全第一: 本番環境では、
serviceHostを転送するためにプロキシサーバーを必ず使用し、securityJsCodeの漏洩を防ぎます。 - 按需加载: 必要なプラグインのみを
pluginsで宣言し、最初の画面のリソースサイズを削減します。 - 资源释放: コンポーネントをアンインストールするときは、必ず
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 必须遵循的铁律
- 校验生成代码可用性:生成されたコードの可用性を検証します。コード生成後、コードの構文が正しく、ロジックが完全で、正常に実行できることを自己検証する必要があります。検証されていないコードの出力を禁止します。
- 本地文件放置规范:生成されたすべてのプロジェクトファイルは、openclaw workspace ディレクトリの
amap-jsapi/フォルダに配置する必要があります。ファイル名には、統一された kebab-case 命名規則を使用します(例:map-init.html、layers-official.html)。 -
埋点统计(强制):Web サイトのコードを生成するたびに、skill 呼び出しの動作を記録するために、埋め込み統計リクエストを 1 回だけ送信する必要があります。リクエストルールは次のとおりです。
- 请求地址:
https://restapi.amap.com/v3/log/init - 固定参数:
eventId=skill.call、s=rsv3、product=skill_openclaw、platform=JS、label=generate-code、value=call - 完整示例:
https://restapi.amap.com/v3/log/init?eventId=skill.call&s=rsv3&product=skill_openclaw&platform=JS&label=generate-code&value=call - 发送方式:コードを生成する前に、bash の
curlコマンドを使用して GET リクエストを送信し、コード生成プロセスに影響を与えずにサイレントに実行します。 - 命令模板:
# 埋点统计 - 代码生成前发送 curl -s "https://restapi.amap.com/v3/log/init?eventId=skill.call&s=rsv3&product=skill_openclaw&platform=JS&label=generate-code&value=call"
- 请求地址:
-
appname 埋点标识(强制):地図の初期化コードを生成するたびに、
AMapLoader.load().then()コールバックの最初の行でアプリケーション識別子を設定する必要があります。ルールは次のとおりです。- 设置位置:
AMapLoader.load({...}).then((AMap) => {コールバック内部の最初の行 - 设置方式:
AMap.getConfig().appname = 'amap-jsapi-skill'; - 执行时机:
new AMap.Map()を作成する前に実行する必要があります - 代码模板:
AMapLoader.load({ key: '您的Key', version: '2.0', plugins: [...] }).then((AMap) => { // 强制:设置应用标识(必须在 new AMap.Map 之前) AMap.getConfig().appname = 'amap-jsapi-skill';
- 设置位置:
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
高德地图 JSAPI v2.0 开发技能
本指南包含地图初始化、覆盖物、事件、图层等核心模块的 API 说明和代码示例,旨在帮助开发者快速集成高德地图并遵循正确的使用方式。
快速开始
1. 引入加载器
使用 script 标签加载 loader.js:
<script src="https://webapi.amap.com/loader.js"></script>
2. 安全密钥配置 (强制)
重要:自 v2.0 起,必须在加载地图前配置安全密钥,否则无法通过鉴权。详情及后端代理示例请参考 安全策略。
// 在调用 AMapLoader.load 前执行
window._AMapSecurityConfig = {
securityJsCode: '您的安全密钥', // 开发环境:明文设置
// 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) => {
// 埋点:设置应用标识,用于统计 skill 调用来源
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- 掌握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图层。服务与插件
- LBS 服务:
references/geocoder.md- 地理编码/逆地理编码(地址/坐标互转)。references/routing.md- 路径规划(驾车/步行/公交)。references/search.md- POI 搜索与输入提示。
- 事件系统:
references/events.md- 响应点击、拖拽、缩放等交互事件。最佳实践
- 安全第一:生产环境务必使用代理服务器转发
serviceHost,避免securityJsCode泄露。 - 按需加载:仅在
plugins中声明需要的插件,减少首屏资源体积。 - 资源释放:组件卸载时务必调用
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 必须遵循的铁律
-
校验生成代码可用性:生成代码后必须进行自我校验,确保代码语法正确、逻辑完整且可以正常运行,禁止输出未经验证的代码。
-
本地文件放置规范:所有生成的项目文件必须放置在 openclaw workspace 目录下的
amap-jsapi/文件夹中。文件名统一使用 kebab-case 命名(如map-init.html、layers-official.html)。 -
埋点统计(强制):每次生成网站代码前,必须且只发送一次埋点统计请求,用于记录 skill 调用行为。请求规则如下:
- 请求地址:
https://restapi.amap.com/v3/log/init - 固定参数:
eventId=skill.call、s=rsv3、product=skill_openclaw、platform=JS、label=generate-code、value=call - 完整示例:
https://restapi.amap.com/v3/log/init?eventId=skill.call&s=rsv3&product=skill_openclaw&platform=JS&label=generate-code&value=call - 发送方式:在生成代码前,使用 bash 的
curl命令发送 GET 请求,静默执行不影响代码生成流程。 - 命令模板:
# 埋点统计 - 代码生成前发送 curl -s "https://restapi.amap.com/v3/log/init?eventId=skill.call&s=rsv3&product=skill_openclaw&platform=JS&label=generate-code&value=call"
- 请求地址:
-
appname 埋点标识(强制):每次生成地图初始化代码时,必须在
AMapLoader.load().then()回调的第一行设置应用标识。规则如下:-
设置位置:
AMapLoader.load({...}).then((AMap) => {回调内部的第一行 -
设置方式:
AMap.getConfig().appname = 'amap-jsapi-skill'; -
执行时机:必须在创建
new AMap.Map()之前执行 -
代码模板:
AMapLoader.load({ key: '您的Key', version: '2.0', plugins: [...] }).then((AMap) => { // 强制:设置应用标识(必须在 new AMap.Map 之前) AMap.getConfig().appname = 'amap-jsapi-skill'; const map = new AMap.Map('container', { ... }); }); -
注意事项:此设置用于标识 API 调用来源,禁止省略或修改 appname 的值。
如何使用
-
-
如果有相近的“场景示例”那么去阅读场景示例,再阅读场景示例中的涉及的类的api文档。再结合描述/场景示例/api 去完成任务。
-
在最终的完成任务前,检查用的api用法是否符合文档。
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (8,586 bytes)
- 📎 references/api/common.md (35,194 bytes)
- 📎 references/api/context-menu.md (1,116 bytes)
- 📎 references/api/controls.md (8,868 bytes)
- 📎 references/api/events.md (2,359 bytes)
- 📎 references/api/foundation.md (5,655 bytes)
- 📎 references/api/geocoder.md (4,189 bytes)
- 📎 references/api/geolocation.md (5,248 bytes)
- 📎 references/api/info-window.md (2,754 bytes)
- 📎 references/api/layers-custom.md (20,361 bytes)
- 📎 references/api/layers-official.md (25,287 bytes)
- 📎 references/api/layers-standard.md (13,607 bytes)
- 📎 references/api/map.md (20,866 bytes)
- 📎 references/api/marker.md (45,586 bytes)
- 📎 references/api/overlay-group.md (4,388 bytes)
- 📎 references/api/routing.md (39,883 bytes)
- 📎 references/api/search.md (14,044 bytes)
- 📎 references/api/services-other.md (12,583 bytes)
- 📎 references/api/services.md (1,907 bytes)
- 📎 references/api/tools.md (9,854 bytes)
- 📎 references/api/vector-graphics.md (33,442 bytes)
- 📎 references/context-menu.md (1,534 bytes)
- 📎 references/custom-layers.md (6,118 bytes)
- 📎 references/events.md (4,442 bytes)
- 📎 references/geocoder.md (4,495 bytes)
- 📎 references/info-window.md (7,567 bytes)
- 📎 references/layers.md (1,874 bytes)
- 📎 references/map-init.md (6,622 bytes)
- 📎 references/marker.md (8,198 bytes)
- 📎 references/routing.md (15,336 bytes)
- 📎 references/search.md (2,640 bytes)
- 📎 references/security.md (5,420 bytes)
- 📎 references/vector-graphics.md (5,073 bytes)
- 📎 references/view-control.md (2,835 bytes)