Close
Angular React Web Components Blazor Web Components
Premium

Web Components 複数データ ソースのバインド

Ignite UI for Web Components マップでは、カスタム データ ソースを地理空間データとオーバーレイするために複数の地理的シリーズ オブジェクトを追加できます。たとえば、空港の地理的位置をプロットするための IgcGeographicSymbolSeriesComponent、空港間のフライトをプロットするための IgcGeographicPolylineSeriesComponent、主要な地理座標のグリッド線をプロットするための別の IgcGeographicPolylineSeriesComponent などです。

Web Components 複数データ ソースのバインドの例

このトピックでは、以下の地理空間データをプロットする複数の地理的シリーズを表示するための手順を説明します。

目的のデータをプロットするために、地理的シリーズをこの組み合わせまたは他の組み合わせでも使用できます。

データ ソースの作成

Ignite UI for Web Components マップに表示するすべての地理的シリーズのデータ​​ソースを作成します。たとえば、WorldConnections スクリプトを使用できます。

<igc-geographic-map
    id="geoMap"
    height="100%"
    width="100%"
    zoomable="true">
</igc-geographic-map>
lineSeries.dataSource = this.worldFlights;
gridSeries.dataSource = this.worldGridlines;
symbolSeries.dataSource = this.worldAirports;

フライトのオーバーレイ

主要空港間のフライト接続を持つ最初の IgcGeographicPolylineSeriesComponent オブジェクトを作成し、Ignite UI for Web Components マップの Series コレクションに追加します。

<igc-geographic-polyline-series
    id="lineSeries"
    shape-member-path="points"
    shape-stroke="rgba(196, 14, 14, 0.05)"
    shape-stroke-thickness="4">
</igc-geographic-polyline-series>

グリッド線のオーバーレイ

地理グリッド線を使用して2番目の IgcGeographicPolylineSeriesComponent オブジェクトを作成し、それを GeographicMap の Series コレクションに追加します。

<igc-geographic-polyline-series
    id="gridSeries"
    shape-member-path="points"
    shape-stroke="Gray"
    shape-stroke-thickness="1">
</igc-geographic-polyline-series>

空港のオーバーレイ

空港ポイントを使用して IgcGeographicSymbolSeriesComponent オブジェクトを作成し、それを Ignite UI for Web Components 地理マップの Series コレクションに追加します。

<igc-geographic-symbol-series
    id="symbolSeries"
    latitude-member-path="lat"
    longitude-member-path="lon"
    marker-type="Circle"
    marker-brush="rgba(170, 211, 223, 1)"
    marker-outline="rgba(73, 73, 73, 1)"
    thickness="1">
</igc-geographic-symbol-series>

まとめ

上記すべてのコード スニペットを以下のコード ブロックにまとめて、プロジェクトに簡単にコピーできます。

import { IgcGeographicMapComponent, IgcGeographicPolylineSeriesComponent, IgcGeographicSymbolSeriesComponent } from 'igniteui-webcomponents-maps';
<igc-geographic-map
    id="geoMap"
    height="100%"
    width="100%"
    zoomable="true">
    <igc-geographic-polyline-series
        id="lineSeries"
        shape-member-path="points"
        shape-stroke="rgba(196, 14, 14, 0.05)"
        shape-stroke-thickness="4">
    </igc-geographic-polyline-series>
    <igc-geographic-polyline-series
        id="gridSeries"
        shape-member-path="points"
        shape-stroke="Gray"
        shape-stroke-thickness="1">
    </igc-geographic-polyline-series>
    <igc-geographic-symbol-series
        id="symbolSeries"
        latitude-member-path="lat"
        longitude-member-path="lon"
        marker-type="Circle"
        marker-brush="rgba(170, 211, 223, 1)"
        marker-outline="rgba(73, 73, 73, 1)"
        thickness="1">
    </igc-geographic-symbol-series>
</igc-geographic-map>
// fields:
private geoMap: IgcGeographicMapComponent
private lineSeries: IgcGeographicPolylineSeriesComponent
private gridSeries: IgcGeographicPolylineSeriesComponent
private symbolSeries: IgcGeographicSymbolSeriesComponent

// initialization:
var geoMap = this.geoMap = document.getElementById('geoMap') as IgcGeographicMapComponent;
var lineSeries = this.lineSeries = document.getElementById('lineSeries') as IgcGeographicPolylineSeriesComponent;
var gridSeries = this.gridSeries = document.getElementById('gridSeries') as IgcGeographicPolylineSeriesComponent;
var symbolSeries = this.symbolSeries = document.getElementById('symbolSeries') as IgcGeographicSymbolSeriesComponent;

// bindings:
lineSeries.dataSource = this.worldFlights;
gridSeries.dataSource = this.worldGridlines;
symbolSeries.dataSource = this.worldAirports;

API リファレンス

IgcGeographicPolylineSeriesComponent
IgcGeographicSymbolSeriesComponent