mcpField
S
syncfusion-aspnetcore-maps

syncfusion-aspnetcore-maps

github.com/syncfusion開発0107 回インストール3 週間前に更新
リポジトリ

syncfusion-aspnetcore-maps について

ASP.NET Core で Syncfusion Maps を使った地理データの可視化を支援するガイドです。レイヤー、データバインディング、地図操作、地図プロバイダーの設定を扱います。

主な機能

  1. 01GeoJSON レイヤーとデータバインディング
  2. 02マーカー、バブル、ラベル
  3. 03カラー マッピングと凡例
  4. 04ズーム、パン、選択
  5. 05地図プロバイダーの設定
  6. 06エクスポートとアクセシビリティのガイド

活用シーン

  1. 01地域別売上ダッシュボードの構築
  2. 02店舗や地点のプロット
  3. 03人口や選挙データの可視化
  4. 04ルートや天気の地図表示

インストール

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

$npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-maps

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
annotations.md
api-reference.md
bubbles.md
color-mapping.md
data-binding.md
data-labels.md
getting-started.md
layers-and-geojson.md
legend.md
map-providers.md
markers.md
user-interactions.md

詳細

ASP.NET Core 向け Syncfusion Maps の実装

Syncfusion Maps コンポーネントは、Scalable Vector Graphics(SVG)を使用して地理データを視覚化する強力なツールです。GeoJSON データ、複数のレイヤー、マッププロバイダー(Bing、Azure、OpenStreetMap)、ズーム、パン、ツールチップ、選択などの豊富なインタラクティブ機能をサポートしています。

目次

このスキルを使用する場面

次のような場合は、Syncfusion Maps コンポーネントを使用してください。

  • 地理データを可視化する - 国、州、地域のデータをインタラクティブなマップに表示する
  • コロプレスマップを作成する - 地域ごとの色分けを使用してデータの分布を示す
  • 位置マーカーをプロットする - 施設、オフィス、店舗、カスタム位置などのポイントを表示する
  • バブルマップを描画する - 地理上の位置にサイズ別のバブルを配置して、定量データを可視化する
  • マッププロバイダーと連携する - Bing Maps、Azure Maps、OpenStreetMap をベースレイヤーとして使用する
  • カスタム図形を表示する - 特定の地域やエリアのカスタム GeoJSON 図形を描画する
  • インタラクティブなダッシュボードを構築する - ズームとパンに対応し、ツールチップと選択機能を備えたマップを作成する
  • ナビゲーションルートを表示する - 異なる位置を結ぶナビゲーションラインを表示する
  • 注釈を重ねて表示する - マップ上にカスタム HTML/テキストの注釈を追加する
  • マルチレイヤーの可視化を作成する - 1 つのマップ上に複数のデータレイヤーを組み合わせる

コンポーネントの概要

主な機能:

  • 📍 複数のレイヤー - 個別に設定できる無制限のレイヤーとサブレイヤーをサポート
  • 🗺️ GeoJSON サポート - カスタム地理図形を読み込んで描画
  • 🌐 マッププロバイダー - Bing Maps、Azure Maps、OpenStreetMap との連携
  • 🎨 色分け - 等値、範囲、彩度低下のカラースキームでデータを可視化
  • 📌 マーカーとバブル - カスタマイズ可能なマーカーとサイズ別のバブルで位置をプロット
  • 🏷️ データラベル - スマートな配置で図形名とデータ値を表示
  • 🎯 インタラクティブ機能 - ズーム、パン、ツールチップ、選択、強調表示
  • 📊 凡例 - 色分け、マーカー、バブルに対応したインタラクティブな凡例
  • ✏️ 注釈 - 指定した座標にカスタム HTML オーバーレイを表示
  • 🌍 投影法 - 6 種類のマップ投影法をサポート
  • 🖨️ エクスポート - マップを印刷し、PNG、JPEG、SVG、PDF 形式でエクスポート
  • ♿ アクセシビリティ - キーボード操作とスクリーンリーダーに対応した WCAG 準拠

ドキュメントとナビゲーションガイド

はじめにとインストール

📄 参照先: references/getting-started.md

次のような場合に参照してください。

  • Maps コンポーネントを初めてセットアップする
  • NuGet パッケージをインストールし、依存関係を設定する
  • タグヘルパーとスクリプト参照を追加する
  • GeoJSON データを使って基本的なマップを作成する
  • 最小限のセットアップ要件を確認する
レイヤーと GeoJSON データ

📄 参照先: references/layers-and-geojson.md

次のような場合に参照してください。

  • マップのレイヤー構成を理解する
  • GeoJSON 形式とカスタム図形を扱う
  • 複数のレイヤーまたはサブレイヤーを追加する
  • ファイルまたは URL から GeoJSON を読み込む
  • レイヤーの表示と順序を設定する
  • レイヤー固有の設定を扱う
データバインディングとデータ追加

📄 参照先: references/data-binding.md

次のような場合に参照してください。

  • データソースをマップの図形にバインドする
  • ShapeDataPath と ShapePropertyPath を設定する
  • データレコードを地理図形に対応付ける
  • JSON、データベース、API からデータをバインドする
  • データを動的に更新する
  • 可視化用にデータを変換する
マーカー

📄 参照先: references/markers.md

次のような場合に参照してください。

  • マップに位置マーカーを追加する
  • 異なる種類のマーカー(Circle、Image、Letter、Template)を使用する
  • マーカーの外観(サイズ、色、枠線)をカスタマイズする
  • 緯度/経度を使ってマーカーを配置する
  • マーカーのツールチップとイベントを追加する
  • マーカーのクラスタリングを実装する
  • カスタムマーカーテンプレートを作成する
バブル

📄 参照先: references/bubbles.md

次のような場合に参照してください。

  • マップ上にバブルの可視化を作成する
  • データ値に基づいてバブルのサイズを設定する
  • バブルの色と不透明度を設定する
  • バブル半径の最小値と最大値を設定する
  • バブルのツールチップを追加する
  • 複数のバブルセットを実装する
  • バブルの選択を扱う
データラベル

📄 参照先: references/data-labels.md

ユーザーが次の操作を行う場合:

  • 地図上の図形にラベルを表示する
  • ラベルの位置と配置を設定する
  • スマートラベルモード(Trim、Hide、None)を使用する
  • ラベルのフォントとスタイルをカスタマイズする
  • テンプレートベースのラベルを作成する
  • ラベルの交差に対処する
  • マーカーやバブルにラベルを追加する
カラーマッピング

📄 参照先: references/color-mapping.md

ユーザーが次の操作を行う場合:

  • データに基づいて図形に色を適用する
  • 等値カラーマッピング(値から色への対応)を設定する
  • 範囲カラーマッピング(最小値から最大値までの範囲)を設定する
  • 彩度低下カラーマッピング(グラデーションの不透明度)を使用する
  • コロプレスマップを作成する
  • カスタムカラーパレットを定義する
  • アクセシビリティとコントラストに対処する
凡例

📄 参照先: references/legend.md

ユーザーが次の操作を行う場合:

  • 地図に凡例を追加する
  • 凡例の位置と配置を設定する
  • インタラクティブな凡例(切り替え、ハイライト)を有効にする
  • 凡例の図形とテキストをカスタマイズする
  • カラーマッピング用の凡例を作成する
  • マーカーやバブル用の凡例を追加する
  • 多数の項目向けに凡例のページ送りを実装する
注釈

📄 参照先: references/annotations.md

ユーザーが次の操作を行う場合:

  • 地図にカスタム HTML コンテンツを追加する
  • 特定の座標に注釈を配置する
  • テキストまたはテンプレートベースの注釈を作成する
  • 注釈のスタイルと配置を設定する
  • 注釈の z-index とレイヤーに対処する
  • 動的な注釈を追加する
  • レスポンシブな注釈を作成する
ユーザー操作

📄 参照先: references/user-interactions.md

ユーザーが次の操作を行う場合:

  • ズーム(マウスホイール、ピンチ、ツールバー)を有効にする
  • パン機能を設定する
  • カスタムテンプレートを使ったツールチップを追加する
  • 図形の選択と複数選択を実装する
  • ホバー時のハイライトを有効にする
  • クリックイベントに対処する
  • 地点間にナビゲーションラインを追加する
  • ズームレベルと制約を設定する
地図プロバイダーとの統合

📄 参照先: references/map-providers.md

ユーザーが次の操作を行う場合:

  • Bing Maps(Road、Aerial、Hybrid)を統合する
  • API キーを使って Azure Maps を設定する
  • OpenStreetMap(OSM)タイルを使用する
  • カスタムタイルサーバーを設定する
  • GeoJSON レイヤーとプロバイダーを組み合わせる
  • プロバイダーの認証に対処する
  • プロバイダーの機能と制限を比較する
高度な機能

ユーザーが次の操作を行う場合:

  • カスタムデータでポリゴンを描画する
  • 矢印付きのナビゲーションラインを追加する
  • 地図を画像または PDF に印刷またはエクスポートする
  • 国際化(i18n)を実装する
  • ローカライズ(l10n)を設定する
  • アクセシビリティ機能を有効にする
  • 状態の永続化を実装する
  • プログラムによるメソッドを使用する
  • パフォーマンスを最適化する
  • EJ1 から EJ2 に移行する

クイックスタートの例

GeoJSON とカラーマッピングを使用した基本的な地図
@using Newtonsoft.Json
@using Syncfusion.EJ2.Maps

@{
    // Load GeoJSON data
    string geoJson = System.IO.File.ReadAllText("wwwroot/scripts/MapsData/WorldMap.json");
    var worldMapData = JsonConvert.DeserializeObject(geoJson);
    
    // Load data source
    string dataJson = System.IO.File.ReadAllText("wwwroot/scripts/MapsData/population.json");
    var populationData = JsonConvert.DeserializeObject(dataJson);
    
    // Define color mapping
    var colorMapping = new List<MapsColorMapping> {
        new MapsColorMapping { From = 0, To = 100000000, Color = "#C6E7F0", Label = "< 100M" },
        new MapsColorMapping { From = 100000000, To = 500000000, Color = "#6AB7D6", Label = "100M - 500M" },
        new MapsColorMapping { From = 500000000, To = 1500000000, Color = "#1A7FA0", Label = "> 500M" }
    };
    
    var propertyPath = new[] { "name" };
}

<ejs-maps id="maps" height="600px">
    <e-maps-titlesettings text="World Population by Country">
        <e-titlesettings-textstyle size="16px" fontWeight="500"></e-titlesettings-textstyle>
    </e-maps-titlesettings>
    
    <e-maps-legendsettings visible="true" position="Bottom"></e-maps-legendsettings>
    
    <e-maps-layers>
        <e-maps-layer shapeData="worldMapData" 
                      dataSource="populationData"
                      shapeDataPath="Country" 
                      shapePropertyPath="propertyPath">
            <e-layersettings-shapesettings 
                fill="#E5E5E5" 
                colorValuePath="Population"
                colorMapping="colorMapping">
            </e-layersettings-shapesettings>
            
            <e-layersettings-tooltipsettings visible="true" valuePath="Country" template="#tooltipTemplate">
            </e-layersettings-tooltipsettings>
        </e-maps-layer>
    </e-maps-layers>
</ejs-maps>

<div id="tooltipTemplate" style="background: white; padding: 12px; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.15);">
    <h4 style="margin: 0 0 8px 0; color: #333;">${Country}</h4>
    <div style="font-size: 14px;">
        <div><strong>Population:</strong> ${Population}</div>
        <div><strong>Capital:</strong> ${Capital}</div>
    </div>
</div>
マーカー付きの地図
@using Newtonsoft.Json
@using Syncfusion.EJ2.Maps

@{
    var worldMapData = JsonConvert.DeserializeObject(System.IO.File.ReadAllText("wwwroot/scripts/MapsData/WorldMap.json"));
    
    var cities = new[]
    {
        new { Name = "New York", Latitude = 40.7128, Longitude = -74.0060, Population = "8.4M" },
        new { Name = "Tokyo", Latitude = 35.6762, Longitude = 139.6503, Population = "13.9M" },
        new { Name = "London", Latitude = 51.5074, Longitude = -0.1278, Population = "9.0M" },
        new { Name = "Sydney", Latitude = -33.8688, Longitude = 151.2093, Population = "5.3M" }
    };

    var tooltip = new MapsTooltipSettings
    {
        Visible = true,
        ValuePath = "Name"
    };
}

<ejs-maps id="maps" height="600px">
    <e-maps-zoomsettings enable="true" zoomFactor="2"></e-maps-zoomsettings>
    
    <e-maps-layers>
        <e-maps-layer shapeData="worldMapData">
            <e-layersettings-shapesettings fill="#C3E6ED"></e-layersettings-shapesettings>
            
            <e-layersettings-markers>
                <e-layersettings-marker 
                    visible="true" 
                    dataSource="cities"
                    shape="Circle"
                    fill="#FF6347"
                    height="15"
                    width="15"
                    tooltipSettings="tooltip">
                </e-layersettings-marker>
            </e-layersettings-markers>
        </e-maps-layer>
    </e-maps-layers>
</ejs-maps>

API リファレンス

Maps クラス

地図の動作と外観を制御するためのプロパティ、メソッド、イベントを備えた、Maps コンポーネントの主要クラスです。

名前空間: Syncfusion.EJ2.Maps
アセンブリ: Syncfusion.EJ2.dll
公式 API リファレンス

コアプロパティ(全 63 件)
プロパティ型既定値説明API リンク
AllowImageExportboolfalseマップの画像(PNG、JPEG、SVG)へのエクスポート機能を有効または無効にします詳細はこちら
AllowPdfExportboolfalseマップの PDF へのエクスポート機能を有効または無効にします詳細はこちら
AllowPrintboolfalseマップの印刷機能を有効または無効にします詳細はこちら
AnnotationsListnullマップの注釈をカスタマイズするオプションを取得または設定します。注釈を使用すると、特定の座標にカスタム HTML/テキストを重ねて表示できます詳細はこちら
Backgroundstringnullマップコンテナーの背景色を取得または設定します詳細はこちら
BaseLayerIndexdouble0ベースレイヤーとなるレイヤーのインデックスを取得または設定します。マップに表示するレイヤーを決定します詳細はこちら
BorderMapsBordernullマップの境界線のスタイルプロパティ(幅、色)をカスタマイズするオプションを取得または設定します詳細はこちら
CenterPositionMapsCenterPositionnull緯度と経度の座標を使用して、マップの中心位置を取得または設定します詳細はこちら
Descriptionstringnull支援技術とアクセシビリティ向けに、マップの説明を取得または設定します詳細はこちら
EnablePersistenceboolfalseページの再読み込み後もコンポーネントの状態を保持する機能を有効または無効にします。ズームレベルやパン位置などが保持されます。詳細はこちら
EnableRtlboolfalseRTL 言語向けに、コンポーネントを右から左の方向でレンダリングする機能を有効または無効にします詳細はこちら
Formatstringnullマップ内のテキストに国際化を適用する書式を取得または設定します詳細はこちら
Heightstringnullマップをレンダリングする高さを取得または設定します。パーセンテージまたはピクセル値を指定できます詳細はこちら
HtmlAttributesobjectnulltitle、name、data-* などの追加 HTML 属性をキーと値のペア形式で指定できます詳細はこちら
LayersListnullマップのレイヤーをカスタマイズするオプションを取得または設定します。無制限のレイヤーとサブレイヤーに対応しています詳細はこちら
LegendSettingsMapsLegendSettingsnullマップの凡例(位置、配置、表示状態など)をカスタマイズするオプションを取得または設定します詳細はこちら
Localestring"en-US"このコンポーネントのグローバルなカルチャおよびローカライズ設定を上書きします詳細はこちら
MapsAreaMapsMapsAreaSettingsnullマップの周囲の領域(背景、境界線)をカスタマイズするオプションを取得または設定します詳細はこちら
MarginMapsMarginnullマップの余白(上、下、左、右)をカスタマイズするオプションを取得または設定します詳細はこちら
ProjectionTypeProjectionTypeMercator投影法(Mercator、EquirectangularProjection、MercatorProjection など)を取得または設定します詳細はこちら
TabIndexdouble0マップのタブインデックス値を取得または設定します詳細はこちら
ThemeMapsThemeMaterialマップでサポートされるテーマスタイル(Material、Fabric、HighContrast、BootstrapDark など)を取得または設定します詳細はこちら
TitleSettingsMapsTitleSettingsnullマップのタイトル(テキスト、配置、フォントなど)をカスタマイズするオプションを取得または設定します詳細はこちら
TooltipDisplayModeTooltipGestureMouseMoveツールチップの表示モード(MouseMove、Click、DoubleClick)を取得または設定します詳細はこちら
UseGroupingSeparatorboolfalse書式設定された数値の桁区切り記号の表示状態を有効または無効にします詳細はこちら
Widthstringnullマップをレンダリングする幅を取得または設定します。パーセンテージまたはピクセル値を指定できます詳細はこちら
ZoomSettingsMapsZoomSettingsnullマップのズーム操作をカスタマイズするオプションを取得または設定します詳細はこちら
マップイベント(全28件)
イベント型トリガー条件説明
AnimationCompletestringnullマップのアニメーション完了後にトリガーされます
AnnotationRenderingstringnullマップで注釈をレンダリングする前にトリガーされます
BeforePrintstringnull印刷開始前にトリガーされます
BubbleClickstringnullマップ上のバブル要素をクリックするとトリガーされます
BubbleMouseMovestringnullマップ上のバブル要素にマウスを合わせるとトリガーされます
BubbleRenderingstringnullマップ上でバブル要素がレンダリングされる前にトリガーされます
Clickstringnullマップ上の要素をユーザーがクリックするとトリガーされます
DataLabelRenderingstringnullデータラベルがレンダリングされる前にトリガーされます
DoubleClickstringnullマップ上の要素をダブルクリックするとトリガーされます
ItemHighlightstringnull図形、バブル、またはマーカーがハイライト表示される前にトリガーされます
ItemSelectionstringnull図形、バブル、またはマーカーが選択される前にトリガーされます
LayerRenderingstringnullマップレイヤーがレンダリングされる前にトリガーされます
LegendRenderingstringnull凡例がレンダリングされる前にトリガーされます
Loadstringnullマップがレンダリングされる前にトリガーされます
Loadedstringnullマップがレンダリングされた後にトリガーされます
MarkerClickstringnullマーカー要素をクリックするとトリガーされます
MarkerClusterClickstringnullマップ上のマーカークラスターをクリックするとトリガーされます
MarkerClusterMouseMovestringnullマーカークラスター要素上でマウスを動かすとトリガーされます
MarkerClusterRenderingstringnullマップのマーカークラスターがレンダリングされる前にトリガーされます
MarkerDragEndstringnullマップ上でマーカーのドラッグが終了すると、このイベントがトリガーされます
MarkerDragStartstringnullマップ上でマーカーのドラッグが開始されると、このイベントがトリガーされます
MarkerMouseMovestringnullマップ上のマーカー要素上でマウスを動かすとトリガーされます
MarkerRenderingstringnullマップのマーカーがレンダリングされる前にトリガーされます
MouseMovestringnullマップ上でマウスポインターを動かすと、このイベントがトリガーされます
Panstringnullパン操作の実行前にトリガーされます
PanCompletestringnullパン操作の実行後に、このイベントがトリガーされます
Resizestringnullウィンドウのサイズ変更時に、マップのサイズ変更を通知するためトリガーされます
RightClickstringnullマップ上の要素を右クリックするとトリガーされます
ShapeHighlightstringnull図形がハイライト表示される前にトリガーされます
ShapeRenderingstringnullマップの図形がレンダリングされる前にトリガーされます
ShapeSelectedstringnullマップ上で図形が選択されるとトリガーされます
TooltipRenderstringnullマップのツールチップがレンダリングされる前にトリガーされます
TooltipRenderCompletestringnullマップのツールチップがレンダリングされた後にトリガーされます
Zoomstringnullズームインやズームアウトなどのズーム操作の前にトリガーされます
ZoomCompletestringnullズーム操作の完了後に、このイベントがトリガーされます
MapsLayer クラス

ジオメトリデータ、マッププロバイダー、データバインディングに対応する個々のマップレイヤーの構成を定義します。

公式 API リファレンス

MapsLayer の主なプロパティ
プロパティ型既定値説明
DataSourceobjectnull図形とのバインドに使用するデータソース
ShapeDataobjectnull図形の描画に使用する GeoJSON データ
ShapeDataPathstringnullデータソース内で図形と照合するプロパティパス
ShapePropertyPathstring[]nullデータソースと照合する図形データ内のプロパティパス
BubbleSettingsListnullバブル表示の設定
MarkerSettingsListnullマーカー表示の設定
DataLabelSettingsMapsDataLabelSettingsnull図形上のデータラベルの設定
NavigationLineSettingsListnullナビゲーションラインの設定
SelectionSettingsMapsSelectionSettingsnull図形選択の設定
HighlightSettingsMapsHighlightSettingsnullホバー時の図形ハイライトの設定
TooltipSettingsMapsTooltipSettingsnullレイヤーのツールチップの設定
ShapeSettingsMapsShapeSettingsnull図形のスタイル設定
Typestring"Layer"レイヤーの種類(Layer または SubLayer)
Visiblebooltrueレイヤーの表示状態を取得または設定します
MapsZoomSettings クラス

マップのズームとパンの動作を管理します。

公式 API リファレンス

MapsZoomSettings の主なプロパティ
プロパティ型既定値説明
Enableboolfalseマップのズームを有効または無効にします
ToolbarOrientationstring"Vertical"ズームツールバーの向きを指定します(Horizontal/Vertical)
Toolbarsstring[]nullズームツールバーのボタンを定義します(Zoom、ZoomIn、ZoomOut、Pan、Reset)
ZoomFactordouble2ズームインまたはズームアウトごとの倍率
MinZoomdouble1最小ズームレベル
MaxZoomdouble28最大ズームレベル
EnableMouseWheelZoomboolfalseマウスホイールによるズームを有効にします
EnablePinchZoomboolfalseタッチデバイスでのピンチ操作によるズームを有効にします
EnableSelectionZoomingboolfalse選択によるズームを有効にします(ボックスを描画してズーム)
EnableDoubleTapZoombooltrueダブルタップによるズームを有効にします
MapsShapeSettings クラス

マップ上の図形の外観と動作を設定します。

公式 API リファレンス

MapsShapeSettings の主なプロパティ
プロパティ型既定値説明
Fillstring"#E5E5E5"図形の塗りつぶし色
Opacitydouble1.0図形の不透明度(0~1)
Palettestring[]nullカラーマッピングに使用するカラーパレット
ColorValuePathstringnullカラーマッピングに使用するデータソース内のプロパティパス
ColorMappingListnullカラーマッピングの設定
DashArraystring""図形の境界線の破線パターンを定義します
MapsMarker クラス

指定した座標にマップ上で表示するマーカーを定義します。

公式 API リファレンス

MapsMarker の主なプロパティ
プロパティ型デフォルト説明
DataSourceobjectnullマーカーの位置とプロパティを含むデータソース
Latitudedoublenullマーカー配置用の緯度座標
Longitudedoublenullマーカー配置用の経度座標
ShapeMarkerTypeCircleマーカーの形状(Circle、Rectangle、Image、Letter、Template)
Widthdouble20マーカーの幅
Heightdouble20マーカーの高さ
Fillstring"#F41747"マーカーの塗りつぶし色
Borderstringnull境界線の設定
ImageUrlstringnull画像タイプのマーカーに使用する画像の URL
TooltipSettingsMapsTooltipSettingsnullマーカーのツールチップ設定
関連クラス(40 種類以上のクラスを利用可能)
クラス用途API リンク
MapsLegendSettings凡例の設定とカスタマイズリンク
MapsTooltipSettingsツールチップの動作を設定リンク
MapsBubbleバブルの視覚化設定リンク
MapsColorMapping色のマッピングルールを定義リンク
MapsDataLabelSettingsデータラベルのカスタマイズリンク
MapsAnnotation注釈の設定リンク
MapsNavigationLineナビゲーションラインの設定リンク
MapsMarkerClusterSettingsマーカーのクラスタリング設定リンク
MapsTitleSettings地図タイトルのカスタマイズリンク
MapsMargin余白の設定リンク
列挙型
ProjectionType

サポートされる地図投影法を定義します。

値説明
MercatorWeb メルカトル図法(デフォルト)
EquirectangularProjection正距円筒図法/プラトー・カレ図法
MercatorProjectionメルカトル図法
Millerミラー円筒図法
NaturalEarth1Natural Earth 1 図法
NaturalEarth2Natural Earth 2 図法
MarkerType

利用可能なマーカーの形状を定義します。

値説明
Circle円形マーカー
Rectangle長方形マーカー
Triangle三角形マーカー
Diamondひし形マーカー
Imageカスタム画像マーカー
Letter文字ベースのマーカー
Templateカスタムテンプレートマーカー
MapsTheme

利用可能なテーマを定義します。

値説明
Materialマテリアルデザインテーマ
FabricFabric デザインテーマ
HighContrastハイコントラストテーマ
BootstrapDarkBootstrap ダークテーマ
BootstrapLightBootstrap ライトテーマ
TooltipGesture

ツールチップの表示モードを定義します。

値説明
MouseMoveマウスの移動時に表示(デフォルト)
Clickクリック時に表示
DoubleClickダブルクリック時に表示
LegendType

凡例の種類を定義します。

値説明
Layersレイヤーの凡例
Markersマーカーの凡例
Bubblesバブルの凡例

一般的なパターン

パターン 1:データバインディングを使用したコロプレスマップ

ユースケース: 地域ごとの統計データを、色分けした図形で可視化します。

@{
    var colorMapping = new List<MapsColorMapping> {
        new MapsColorMapping { Value = "Low", Color = "#90EE90" },
        new MapsColorMapping { Value = "Medium", Color = "#FFD700" },
        new MapsColorMapping { Value = "High", Color = "#FF6347" }
    };
}

<e-maps-layer shapeData="@geoJsonData" 
              dataSource="@statisticsData"
              shapeDataPath="RegionName" 
              shapePropertyPath="@(new[] { "name" })">
    <e-layersettings-shapesettings 
        colorValuePath="DataLevel"
        colorMapping="colorMapping">
    </e-layersettings-shapesettings>
</e-maps-layer>
パターン 2:ズームと選択に対応したインタラクティブマップ

ユースケース: ユーザーが操作して詳細を確認できるようにします。

<ejs-maps id="maps">
    <e-maps-zoomsettings 
        enable="true" 
        enableSelectionZooming="true"
        toolbars='new string[] {"Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"}'>
    </e-maps-zoomsettings>
    
    <e-maps-layers>
        <e-maps-layer shapeData="@mapData">
            <e-layersettings-selectionsettings 
                enable="true" 
                fill="#8B0000"
                opacity="0.5">
            </e-layersettings-selectionsettings>
            
            <e-layersettings-highlightsettings 
                enable="true" 
                fill="#FF6347">
            </e-layersettings-highlightsettings>
        </e-maps-layer>
    </e-maps-layers>
</ejs-maps>
パターン 3:複数のデータレイヤー

ユースケース: 1 つのマップ上に複数のデータセットを重ねて表示します。

<e-maps-layers>
    
    <e-maps-layer shapeData="@countryData" type="Layer">
        <e-layersettings-shapesettings fill="#E5E5E5"></e-layersettings-shapesettings>
    </e-maps-layer>
    
    
    <e-maps-layer shapeData="@stateData" type="SubLayer">
        <e-layersettings-shapesettings fill="transparent" border-width="1"></e-layersettings-shapesettings>
    </e-maps-layer>
    
    
    <e-maps-layer type="Layer">
        <e-layersettings-markers>
            <e-layersettings-marker dataSource="@locations" shape="Circle"></e-layersettings-marker>
        </e-layersettings-markers>
    </e-maps-layer>
</e-maps-layers>
パターン 4:Bing Maps との連携

ユースケース: Bing Maps をベースレイヤーとして使用し、カスタムデータを重ねて表示します。

<ejs-maps id="maps">
    <e-maps-layers>
        
        <e-maps-layer layerType="Bing" bingMapType="Aerial" key="YOUR_BING_MAPS_KEY">
        </e-maps-layer>
        
        
        <e-maps-layer type="SubLayer" shapeData="@customData">
            <e-layersettings-shapesettings fill="#FF6347" opacity="0.5"></e-layersettings-shapesettings>
        </e-maps-layer>
    </e-maps-layers>
</ejs-maps>

主要なプロパティのリファレンス

必須プロパティ
プロパティ用途例
shapeData図形の描画に使用する GeoJSON データshapeData="worldMapData"
dataSource図形にバインドするデータdataSource="populationData"
shapeDataPath図形との照合に使用する dataSource 内のプロパティshapeDataPath="Country"
shapePropertyPathデータとの照合に使用する GeoJSON 内のプロパティshapePropertyPath="@(new[] { "name" })"
colorValuePath色のマッピングに使用するデータプロパティcolorValuePath="Population"
colorMapping色の範囲や値を定義しますcolorMapping="@colorMappingList"
レイヤーの設定
プロパティ用途主な値
typeレイヤーの種類Layer、SubLayer
layerTypeプロバイダーの種類Geometry、Bing、OSM
visibleレイヤーの表示/非表示true、false
shapeSettings図形のスタイル設定塗りつぶし、枠線、パレット
markerSettingsマーカーの設定形状、サイズ、色
bubbleSettingsバブルの設定サイズ、色、半径
インタラクションの設定
プロパティ用途設定
zoomSettingsズームの設定enable、zoomFactor、minZoom、maxZoom
tooltipSettingsツールチップの設定visible、valuePath、template
selectionSettings選択の設定enable、fill、opacity
highlightSettingsホバー時の強調表示enable、fill、border

一般的なユースケース

ユースケース 1:地域別の営業ダッシュボード

地域ごとの営業実績を、色の濃淡で表示するコロプレスマップを作成します。

適用機能: 色のマッピング、データバインディング、凡例、ツールチップ

ユースケース 2:店舗検索マップ

カスタムマーカーで小売店舗の位置をマップ上に表示し、ユーザーがズームしたり、クリックして詳細を確認したりできるようにします。

適用機能: マーカー、ツールチップ、ズーム、Bing/OSM との連携

ユースケース 3:人口密度の可視化

人口密度をバブルのサイズで表し、人口が多いほど大きなバブルで表示します。

適用機能: バブル、データバインディング、凡例、色のマッピング

ユースケース 4:選挙結果マップ

州や地域ごとの選挙結果を色分けし、インタラクティブに選択できるマップで可視化します。

適用機能: 色のマッピング、選択、強調表示、データラベル、凡例

ユースケース 5:配送ルートの可視化

都市間の配送ルートを、方向を示す矢印付きのナビゲーションラインで表示します。

適用機能: ナビゲーションライン、マーカー、注釈、レイヤー

ユースケース 6:天気マップダッシュボード

カスタム注釈とリアルタイムのデータ更新を使用して、天気データをマップ上に重ねて表示します。

適用機能: 注釈、動的データ、複数のレイヤー、マッププロバイダー

ユースケース 7:不動産物件マップ

カスタムマーカー、フィルタリング、詳細なツールチップを使用して、物件情報を表示します。

適用機能: マーカー、カスタムテンプレート、ツールチップ、ズーム、パン

関連コンポーネント

  • Chart - 地理情報以外のデータの可視化に使用します
  • HeatMap - マトリックス形式のヒートマップの可視化に使用します
  • TreeMap - 階層データの可視化に使用します
  • Diagram - ネットワークやフローチャートの可視化に使用します

Additional Resources

コメント