mcpField
A
arcgis-embeddable-maps

arcgis-embeddable-maps

github.com/saschabrunnerch開発2350 回インストール29 週間前に更新
リポジトリ

arcgis-embeddable-maps について

ArcGIS Embeddable Mapsは、ブログ、ダッシュボード、レポートなどに読み取り専用マップを埋め込むための軽量コンポーネントです。単一のWebコンポーネントでWebMapを表示し、組み込みコントロールも追加できます。

主な機能

  1. 01単一コンポーネントでWebMapを埋め込み
  2. 02マップの中心とズームレベルを設定
  3. 03ライトまたはダークテーマに切り替え
  4. 04凡例、ブックマーク、ベースマップギャラリーを表示
  5. 05全画面表示と情報コントロールを有効化

活用シーン

  1. 01ブログに読み取り専用マップを埋め込む
  2. 02ダッシュボードにWebMapを表示する
  3. 03レポートに凡例付きマップを掲載する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/saschabrunnerch/arcgis-maps-sdk-js-ai-context --skill arcgis-embeddable-maps

インストール後、Claude Code で/arcgis-embeddable-mapsを入力して読み込まれたか確認します。

同梱ファイルAGENTS.md

詳細

ArcGIS 埋め込み可能マップ

コードを最小限に抑えながら、軽量で自己完結型のマップを Web ページに埋め込む場合は、このスキルを使用します。@arcgis/embeddable-components パッケージは、WebMap ビューアーと、任意で組み込み UI コントロール(凡例、ブックマーク、ベースマップギャラリー、全画面表示)をまとめた単一の Web コンポーネント arcgis-embedded-map を提供します。これは 5.0 で追加された新しいコンポーネントパッケージであり、4.x に相当するものはありません。

arcgis-embedded-map と arcgis-map の使い分け: カスタムウィジェット、編集機能、プログラムによるマップ制御が不要な、シンプルな読み取り専用のマップ埋め込み(ブログ、ダッシュボード、レポート)には arcgis-embedded-map を使用します。フル機能のアプリケーションには arcgis-map(arcgis-core-maps を参照)を使用します。

インポートパターン

CDN(ビルドツール不要)

<script src="https://js.arcgis.com/5.0/"></script>

<script
  type="module"
  src="https://js.arcgis.com/5.0/embeddable-components/"
></script>
直接 ESM インポート(ビルドツール)
import "@arcgis/embeddable-components/components/arcgis-embedded-map";

arcgis-embedded-map コンポーネント

プロパティ
プロパティ属性型デフォルト説明
itemIditem-idstring-必須。 WebMap のポータルアイテム ID
portalUrlportal-urlstring"https://www.arcgis.com"ポータル URL(ArcGIS Online または Enterprise)
apiKeyapi-keystring-リソースへのアクセスに使用する API キー
centercenternumber[] | Point-表示の中心 [longitude, latitude]
zoomzoomnumber-ズームレベル
scalescalestring-中心位置のマップ縮尺
extent-Extent-表示するマップ範囲(JS で設定)
webMap-WebMap-WebMap インスタンス(JS で設定。itemId の代替)
themethemestring"light"コンポーネントのテーマ:"light" または "dark"
UI コントロールのプロパティ
プロパティ属性型デフォルト説明
headingEnabledheading-enabledbooleanfalseWebMap のタイトルを表示
legendEnabledlegend-enabledbooleanfalse凡例パネルを表示
bookmarksEnabledbookmarks-enabledbooleanfalseブックマークパネルを表示
basemapGalleryEnabledbasemap-gallery-enabledbooleanfalseベースマップギャラリーパネルを表示
informationEnabledinformation-enabledbooleanfalse情報パネルを表示
shareEnabledshare-enabledbooleanfalseMap Viewer で開くボタンを表示
fullscreenDisabledfullscreen-disabledbooleanfalse全画面表示ボタンを無効化
scrollEnabledscroll-enabledbooleantrueマウスホイールによるスクロールズームを有効化
timeZoneLabelEnabledtime-zone-label-enabledbooleanfalseタイムゾーンラベルを表示
メソッド
メソッド戻り値説明
componentOnReady()Promise<void>コンポーネントが完全に読み込まれると解決します

基本的な使い方

最小限の埋め込み
<arcgis-embedded-map
  item-id="f2e9b762544945f390ca4ac3671cfa72"
  style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>
すべての UI コントロールを含めた埋め込み
<arcgis-embedded-map
  item-id="f2e9b762544945f390ca4ac3671cfa72"
  heading-enabled
  legend-enabled
  bookmarks-enabled
  basemap-gallery-enabled
  information-enabled
  share-enabled
  style="width: 100%; height: 500px;"
>
</arcgis-embedded-map>
ダークテーマ
<arcgis-embedded-map
  item-id="f2e9b762544945f390ca4ac3671cfa72"
  theme="dark"
  legend-enabled
  style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>
中心位置とズームのカスタマイズ
<arcgis-embedded-map
  item-id="f2e9b762544945f390ca4ac3671cfa72"
  center="-118.24,34.05"
  zoom="12"
  style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>
スクロールズームを無効にする(インラインコンテンツ用)
<arcgis-embedded-map
  item-id="f2e9b762544945f390ca4ac3671cfa72"
  scroll-enabled="false"
  style="width: 100%; height: 400px;"
>
</arcgis-embedded-map>
API キーを使用
<arcgis-embedded-map
  item-id="YOUR_ITEM_ID"
  api-key="YOUR_API_KEY"
  portal-url="https://www.arcgis.com"
  legend-enabled
  style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>
エンタープライズポータル
<arcgis-embedded-map
  item-id="YOUR_ENTERPRISE_ITEM_ID"
  portal-url="https://your-enterprise.com/portal"
  heading-enabled
  legend-enabled
  style="width: 800px; height: 600px;"
>
</arcgis-embedded-map>

CDN の完全な例

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Embedded Map</title>
    <script src="https://js.arcgis.com/5.0/"></script>
    <script
      type="module"
      src="https://js.arcgis.com/5.0/embeddable-components/"
    ></script>
    <style>
      body {
        font-family: sans-serif;
        max-width: 900px;
        margin: 0 auto;
        padding: 20px;
      }
      arcgis-embedded-map {
        width: 100%;
        height: 500px;
        display: block;
        margin: 20px 0;
      }
    </style>
  </head>
  <body>
    <h1>City Demographics</h1>
    <p>Explore population data across the region.</p>
    <arcgis-embedded-map
      item-id="f2e9b762544945f390ca4ac3671cfa72"
      heading-enabled
      legend-enabled
      bookmarks-enabled
      theme="light"
    >
    </arcgis-embedded-map>
    <p>Data source: US Census Bureau</p>
  </body>
</html>

プログラムによる設定

JavaScript で範囲を設定する
const embeddedMap = document.querySelector("arcgis-embedded-map");
await embeddedMap.componentOnReady();

embeddedMap.extent = {
  xmin: -118.5,
  ymin: 33.8,
  xmax: -117.9,
  ymax: 34.3,
  spatialReference: { wkid: 4326 },
};
WebMap インスタンスを使用する
const WebMap = await $arcgis.import("@arcgis/core/WebMap.js");

const webMap = new WebMap({
  portalItem: { id: "f2e9b762544945f390ca4ac3671cfa72" },
});

const embeddedMap = document.querySelector("arcgis-embedded-map");
embeddedMap.webMap = webMap;

CSS 変数を使用したテーマ設定

このコンポーネントは Calcite Design System の CSS 変数に対応しています。

arcgis-embedded-map {
  --calcite-color-brand: #007ac2;
  --calcite-color-foreground-1: #ffffff;
  --calcite-color-text-1: #151515;
  --calcite-color-border-1: #cacaca;
}

よくある落とし穴

  1. item-id がない:このコンポーネントには WebMap ポータルアイテム ID が必要です。

    
    <arcgis-embedded-map style="width: 800px; height: 600px;">
    </arcgis-embedded-map>
    
    
    <arcgis-embedded-map
      item-id="f2e9b762544945f390ca4ac3671cfa72"
      style="width: 800px; height: 600px;"
    >
    </arcgis-embedded-map>
    

    影響: コンポーネントは地図のない空のコンテナーを表示します。

  2. embeddable-components スクリプトがない:このパッケージは別途読み込む必要があります。

    
    <script src="https://js.arcgis.com/5.0/"></script>
    <arcgis-embedded-map item-id="abc123"></arcgis-embedded-map>
    
    
    <script src="https://js.arcgis.com/5.0/"></script>
    <script
      type="module"
      src="https://js.arcgis.com/5.0/embeddable-components/"
    ></script>
    <arcgis-embedded-map item-id="abc123"></arcgis-embedded-map>
    

    影響: 要素が認識されず、空の状態で表示されます。

  3. サイズが明示されていない:埋め込み地図を表示するには、幅と高さが必要です。

    
    <arcgis-embedded-map item-id="abc123"></arcgis-embedded-map>
    
    
    <arcgis-embedded-map
      item-id="abc123"
      style="width: 100%; height: 500px; display: block;"
    >
    </arcgis-embedded-map>
    

    影響: 地図の高さがゼロで表示され、ページ上で見えなくなります。

  4. インタラクティブなアプリで arcgis-embedded-map を使用する:このコンポーネントはシンプルな埋め込み用に設計されています。カスタムウィジェット、編集、レイヤーの操作、プログラムによるビューの制御には対応していません。完全なアプリケーションには、@arcgis/map-components の arcgis-map を使用してください。

    影響: ウィジェットの追加やフィーチャの編集を試みても、エラーが表示されずに失敗します。

  5. 長いページでのスクロールズーム:埋め込み地図をスクロール可能なコンテンツ内に配置すると、スクロールズームによってユーザーの操作が妨げられることがあります。より快適に利用できるよう、無効にしてください。

    <arcgis-embedded-map
      item-id="abc123"
      scroll-enabled="false"
      style="width: 100%; height: 400px;"
    >
    </arcgis-embedded-map>
    

    影響: ページをスクロールしたいのに、地図のズーム操作から抜け出せなくなることがあります。

参考サンプル

  • 軽量な WebMap の埋め込み例を示すサンプルを検索します。

関連スキル

  • arcgis-core-maps では、arcgis-map と arcgis-scene を使用した高機能な地図アプリケーションを確認できます。
  • arcgis-starter-app では、プロジェクトのひな形作成と CDN のセットアップを確認できます。
  • arcgis-authentication では、API キーとポータル認証を確認できます。

コメント