バージョン

複数の地理的シリーズを表示

目的

このトピックは、 XamGeographicMap™ コントロールで複数の地理的シリーズを表示する方法を提供します。

前提条件

以下の表に、このトピックを理解するための前提条件として求められるトピックをリストします。

トピック 目的

このトピックは、 XamGeographicMap コントロールをアプリケーション ページに追加する方法を示します。

このトピックは、 XamGeographicMap コントロールのマップ要素のレイアウトについての情報を提供します。

このトピックは、マップ、シェープ ファイル、および地理的な関連資料についての情報を提供します。これらのリソースを使用して、地理的シェープ ファイルおよび編集のためのツールの詳細を学習し入手します。

このトピックは、 XamGeographicMap コントロールに地理的データがあるシェープ ファイルをバインドする方法を提供します。

このトピックは、 XamGeographicMap コントロールの地理的シリーズのサポートされているタイプについての情報を提供します。

本トピックの内容

このトピックには次のセクションがあります。

概要

XamGeographicMap コントロールの Series プロパティは、地理的シリーズの無制限の数の描画をサポートするために使用されます。このプロパティは、地理的シリーズ オブジェクトのコレクションで、任意のタイプの地理的シリーズをそれに追加できます。たとえば、都市などの地理的位置をプロットするために GeographicSymbolSeries を追加でき、またこれらの地理的位置の間の接続 (たとえば、道路) をプロットするために GeographicPolylineSeries を追加できます。

プレビュー

以下は、複数の地理的シリーズがある XamGeographicMap コントロールのプレビューです。

GeographicMap Displaying Multiple Geographic Series 1.png

概要

このトピックは、複数の地理的シリーズを XamGeographicMap コントロールに表示する方法を順に説明します。 Series プロパティにすべての地理的シリーズが追加され、 ShapefileConverter クラスを使用して、シェープ ファイルから読み込まれた以下の地理的データをプロットします。

希望のデータをプロットするために、これまたは他の組み合わせで地理的シリーズを使用できます。また、シェープ ファイルがアプリケーション用に十分な地理的コンテンツを提供していれば、マップ背景コンテンツから地理的画像を非表示にしたい場合があります。この詳細は、 「マップ背景コンテンツで地理的画像を非表示にする」のトピックを参照してください。

以下はプロセスの概念的概要です。

  1. ShapefileConverter オブジェクトをリソースとして追加します。

  2. XamGeographicMap コントロールを追加します。

  3. GeographicShapeSeries オブジェクトを追加します。

  4. GeographicPolylineSeries オブジェクトを追加します。

  5. GeographicSymbolSeries オブジェクトを追加します。

  6. 結果を確認します。

手順

以下は、複数の地理的シリーズを XamGeographicMap コントロールに表示する手順です。

ShapefileConverter オブジェクトをリソースとして追加します。

利用者のページのリソース セクションで、XamGeographicMap コントロールに表示したい各シェープ ファイルに ShapefileConverter を追加します。

XAML の場合:

<ig:ShapefileConverter x:Key="countriesShapeSource"
                        ShapefileSource="ShapeFiles/world_countries.shp"
                        DatabaseSource="ShapeFiles/world_countries.dbf" >
</ig:ShapefileConverter>
<ig:ShapefileConverter x:Key="roadsShapeSource"
                        ShapefileSource="ShapeFiles/north_america_primary_roads.shp"
                        DatabaseSource="ShapeFiles/north_america_primary_roads.dbf" >
</ig:ShapefileConverter>
<ig:ShapefileConverter x:Key="citiesLocationSource"
                        ShapefileSource="ShapeFiles/world_cities.shp"
                        DatabaseSource="ShapeFiles/world_cities.dbf" >
</ig:ShapefileConverter>

Visual Basic の場合:

Dim countriesShapeSource = New ShapefileConverter()
countriesShapeSource.ShapefileSource = "ShapeFiles/world_countries.shp"
countriesShapeSource.DatabaseSource = "ShapeFiles/world_countries.dbf"
Dim roadsShapeSource = New ShapefileConverter()
roadsShapeSource.ShapefileSource = "ShapeFiles/north_america_primary_roads.shp"
roadsShapeSource.DatabaseSource = "ShapeFiles/north_america_primary_roads.dbf"
Dim citiesLocationSource = New ShapefileConverter()
citiesLocationSource.ShapefileSource = "ShapeFiles/world_cities.shp"
citiesLocationSource.DatabaseSource = "ShapeFiles/world_cities.dbf"

C# の場合:

var countriesShapeSource = new ShapefileConverter();
countriesShapeSource.ShapefileSource="ShapeFiles/world_countries.shp";
countriesShapeSource.DatabaseSource="ShapeFiles/world_countries.dbf";
var roadsShapeSource = new ShapefileConverter();
roadsShapeSource.ShapefileSource="ShapeFiles/north_america_primary_roads.shp";
roadsShapeSource.DatabaseSource="ShapeFiles/north_america_primary_roads.dbf";
var citiesLocationSource = new ShapefileConverter();
citiesLocationSource.ShapefileSource="ShapeFiles/world_cities.shp";
citiesLocationSource.DatabaseSource="ShapeFiles/world_cities.dbf";

XamGeographicMap コントロールを追加します。

null 値に設定された BackgroundContent プロパティで XamGeographicMap コントロールを追加します。

XAML の場合:

<ig:XamGeographicMap x:Name="GeoMap" BackgroundContent="{x:Null}" >
    <ig:XamGeographicMap.Series>
       <!-- TODO: ここに GeographicShapeSeries を追加 -->
       <!-- TODO: ここに GeographicPolylineSeries を追加 -->
       <!-- TODO: ここに GeographicSymbolSeries を追加 -->
    </ig:XamGeographicMap.Series>
</ig:XamGeographicMap>

Visual Basic の場合:

Dim GeoMap = New XamGeographicMap()
GeoMap.BackgroundContent = Nothing
‘ TODO: ここに GeographicShapeSeries を追加
‘ TODO: ここに GeographicPolylineSeries を追加
‘ TODO: ここに GeographicSymbolSeries を追加
Me.Children.Add(GeoMap)

C# の場合:

var GeoMap = new XamGeographicMap();
GeoMap.BackgroundContent = null;
// TODO: ここに GeographicShapeSeries を追加
// TODO: ここに GeographicPolylineSeries を追加
// TODO: ここに GeographicSymbolSeries を追加
this.Children.Add(GeoMap);

GeographicShapeSeries オブジェクトを追加します。

XamGeographicMap コントロールの Series コレクションで、世界の国々の図形を表示するために GeographicShapeSeries オブジェクトを追加します。

XAML の場合:

<ig:GeographicShapeSeries ItemsSource="{StaticResource countriesShapeSource}"
                          ShapeMemberPath="Points">
</ig:GeographicShapeSeries>

Visual Basic の場合:

Dim geoShapeSeries = New GeographicShapeSeries()
geoShapeSeries.ItemsSource  = countriesShapeSource
geoShapeSeries.ShapeMemberPath = "Points"
Me.GeoMap.Series.Add(geoShapeSeries)

C# の場合:

var geoShapeSeries = new GeographicShapeSeries();
geoShapeSeries.ItemsSource  = shapefileConverter;
geoShapeSeries.ShapeMemberPath = "Points";
this.GeoMap.Series.Add(geoShapeSeries);

GeographicPolylineSeries オブジェクトを追加します。

XamGeographicMap コントロールの Series コレクションに、主要都市間の道路を表示するために GeographicPolylineSeries オブジェクトを追加します。

XAML の場合:

<ig:GeographicPolylineSeries  ItemsSource="{StaticResource roadsShapeSource}"
                             ShapeMemberPath="Points">
</ig:GeographicPolylineSeries>

Visual Basic の場合:

Dim geoPolylineSeries = New GeographicPolylineSeries()
geoPolylineSeries.ItemsSource = roadsShapeSource
geoPolylineSeries.ShapeMemberPath = "Points"
Me.GeoMap.Series.Add(geoPolylineSeries)

C# の場合:

var geoPolylineSeries = new GeographicPolylineSeries();
geoPolylineSeries.ItemsSource = shapefileConverter;
geoPolylineSeries.ShapeMemberPath = "Points";
this.GeoMap.Series.Add(geoPolylineSeries);

GeographicSymbolSeries オブジェクトを追加します。

XamGeographicMap コントロールの Series コレクションで、主要都市の位置を表示するために GeographicSymbolSeries オブジェクトを追加します。

XAML の場合:

<ig:GeographicSymbolSeries  ItemsSource="{StaticResource citiesLocationSource}"
                           LongitudeMemberPath="Points[0][0].X"
                           LatitudeMemberPath="Points[0][0].Y">
</ig:GeographicSymbolSeries>

Visual Basic の場合:

Dim geoSymbolSeries = New GeographicSymbolSeries()
geoSymbolSeries.ItemsSource = citiesLocationSource
geoSymbolSeries.LongitudeMemberPath = "Points[0][0].X"
geoSymbolSeries.LatitudeMemberPath = "Points[0][0].Y"
Me.GeoMap.Series.Add(geoSymbolSeries)

C# の場合:

var geoSymbolSeries = new GeographicSymbolSeries();
geoSymbolSeries.ItemsSource = citiesLocationSource;
geoSymbolSeries.LongitudeMemberPath = "Points[0][0].X";
geoSymbolSeries.LatitudeMemberPath = "Points[0][0].Y";
this.GeoMap.Series.Add(geoSymbolSeries);

結果を確認します。

結果を確認するために、プロジェクトをビルドおよび実行します。手順を正しく実装した場合、XamGeographicMap は上記のプレビュー セクションで示したように表示されるはずです。

関連コンテンツ

トピック

以下のトピックでは、このトピックに関連する情報を提供しています。

トピック 目的

このトピックは、 XamGeographicMap コントロールをアプリケーション ページに追加する方法を示します。

このトピックは、 XamGeographicMap コントロールのマップ要素のレイアウトについての情報を提供します。

このトピックは、マップ、シェープ ファイル、および地理的な関連資料についての情報を提供します。これらのリソースを使用して、地理的シェープ ファイルおよび編集のためのツールの詳細を学習し入手します。

このトピックは、 XamGeographicMap コントロールに地理的データがあるシェープ ファイルをバインドする方法を提供します。

このトピックは、 XamGeographicMap コントロールの地理的シリーズのサポートされているタイプについての情報を提供します。

このトピックは、 XamGeographicMap コントロールの背景コンテンツの地理的画像を非表示にする方法を提供します。