jpskill.com
🛠️ 開発・MCP コミュニティ

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本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して amap-jsapi-skill.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → amap-jsapi-skill フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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 - 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/WMTSGLCustomLayer を統合し、地図上に 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. 埋点统计(强制):Web サイトのコードを生成するたびに、skill 呼び出しの動作を記録するために、埋め込み統計リクエストを 1 回だけ送信する必要があります。リクエストルールは次のとおりです。

    • 请求地址https://restapi.amap.com/v3/log/init
    • 固定参数eventId=skill.calls=rsv3product=skill_openclawplatform=JSlabel=generate-codevalue=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"
  4. 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 - 掌握 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. 埋点统计(强制):每次生成网站代码前,必须且只发送一次埋点统计请求,用于记录 skill 调用行为。请求规则如下:

    • 请求地址https://restapi.amap.com/v3/log/init
    • 固定参数eventId=skill.calls=rsv3product=skill_openclawplatform=JSlabel=generate-codevalue=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"
  4. 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 的值。

      如何使用

  5. 如果有相近的“场景示例”那么去阅读场景示例,再阅读场景示例中的涉及的类的api文档。再结合描述/场景示例/api 去完成任务。

  6. 在最终的完成任务前,检查用的api用法是否符合文档。

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。