バージョン

シェープファイルをバインド

始める前に

xamMap コントロールはシェープファイルから派生した情報を表示します。たとえば、シェープファイルが米国マップの情報を含む場合、xamMap はこのマップを表示します。シェープファイル形式と構成の詳細は、 「xamMap についてを参照してください。

達成すること

米国のマップを表示するように xamMap コントロールを設定します。

次の手順を実行します

  1. Microsoft® WPF® プロジェクトを作成します。

  2. 以下の NuGet パッケージ参照をプロジェクトに追加します。

    • Infragistics.WPF.Controls.Maps.XamMap

    NuGet フィードのセットアップと NuGet パッケージの追加の詳細については、NuGet フィード ドキュメントを参照してください。

  1. 以下の xamMap コントロールの名前空間宣言を追加します。

XAML の場合:

xmlns:igMap="http://schemas.infragistics.com/xaml"

Visual Basic の場合:

Imports Infragistics.Controls.Maps
Imports Infragistics

C# の場合:

using Infragistics.Controls.Maps;
using Infragistics;
  1. "Shapefiles" と呼ばれるサブフォルダーにプロジェクトに使用しようとするシェープファイルを追加します。xamMap コントロールの ShapeFileReader は、ハードディスクの場所に関係なくシェープファイルを開くことができます。これは、絶対パスを使用してアーカイブされます (たとえば、"C:\Data\YourShapefileName")。シェープファイルをプロジェクトにも含むことができます。

WPF DV XamMap Displaying XamMap Using Shapefiles 01.png

この場合、相対パスでファイルを指定できます。実行ファイルは "ProjectPath\bin\Debug\" フォルダーに配置されるので、画像では "/../../ShapeFiles/usa_st" となります。

  1. xamMap コントロールをプロジェクトに追加します。

XAML の場合:

<igMap:XamMap x:Name="xamMap">
   <!-- TODO: マップ レイヤーを追加します -->
</igMap:XamMap>

Visual Basic の場合:

Dim xamMap As New xamMap()
Me.LayoutRoot.Children.Add(xamMap)

C# の場合:

XamMap xamMap = new xamMap();
this.LayoutRoot.Children.Add(xamMap);
  1. シェープファイルからの情報を表示するために MapLayer オブジェクトを作成します。

XAML の場合:

<igMap:XamMap.Layers>
   <igMap:MapLayer x:Name="statesLayer">
      <!-- TODO: シェープファイルを読み取ります -->
   </igMap:MapLayer>
</igMap:XamMap.Layers>

Visual Basic の場合:

Dim statesLayer As New MapLayer()
xamMap.Layers.Add(statesLayer)

C# の場合:

MapLayer statesLayer = new MapLayer();
xamMap.Layers.Add(statesLayer);
  1. ShapeFileReader オブジェクトを作成して、シェープファイルから情報を読み取り、希望のデータ マッピングを実行します。

XAML の場合:

<igMap:MapLayer.Reader>
   <igMap:ShapeFileReader Uri="/../../Shapefiles/usa_st"
DataMapping="Caption=STATE_ABBR" />
</igMap:MapLayer.Reader>

Visual Basic の場合:

Dim reader As New ShapeFileReader()
reader.Uri = "Shapefiles/usa_st/../../ShapeFiles/usa_st"
Dim converter As New DataMapping.Converter()
reader.DataMapping = TryCast(converter.ConvertFromString("Caption=STATE_ABBR"), DataMapping)
statesLayer.Reader = reader

C# の場合:

ShapeFileReader reader = new ShapeFileReader();
reader.Uri = "Shapefiles/usa_st/../../ShapeFiles/usa_st";
DataMapping.Converter converter = new DataMapping.Converter();
reader.DataMapping = converter.ConvertFromString("Caption=STATE_ABBR") as
DataMapping;
statesLayer.Reader = reader;
  1. アプリケーションを実行します。xamMap コントロールはシェープファイル データを使用して米国のマップを表示します。

SL DV XamMap Displaying XamMap Using Shapefiles 02.png