Maps for UWP
データ連結
C1Mapsの使い方 > ベクターレイヤ > データ連結

C1VectorLayer には、データ連結をサポートする2つのプロパティがあります。

データ連結の例

City オブジェクトのコレクションがあるとします。

C#
コードのコピー
public class City
  {
    public Point LongLat { get; set; }
    public string Name { get; set; }
  }

このテンプレートは、City クラスから C1VectorPlacemark を作成する方法を定義します。

XAML マークアップ
コードのコピー
<C1:C1Maps x:Name="maps" Foreground="LightGreen">
  <C1:C1Maps.Resources>
     <!-- 項目テンプレート -->
       <DataTemplate x:Key="templPts">
       <C1:C1VectorPlacemark
         GeoPoint="{Binding Path=LongLat}" Fill="LightGreen" Stroke="DarkGreen"
         Label="{Binding Path=Name}" LabelPosition="Top" >
         <C1:C1VectorPlacemark.Geometry>
           <EllipseGeometry RadiusX="2" RadiusY="2" />
         </C1:C1VectorPlacemark.Geometry>
       </C1:C1VectorPlacemark>
     </DataTemplate>
  </C1:C1Maps.Resources>
  <C1:C1VectorLayer ItemsSource="{Binding}"
  ItemTemplate="{StaticResource templPts}" />
</C1:C1Maps>

最後に、データソースとして実際のコレクションを使用する必要があります。

C#
コードのコピー
City[] cities = new City[]
{
    new City(){ LongLat= new Point(30.32,59.93), Name="Saint Petersburg"},
    new City(){ LongLat= new Point(24.94,60.17), Name="Helsinki"},
    new City(){ LongLat= new Point(18.07,59.33), Name="Stockholm"},
    new City(){ LongLat= new Point(10.75,59.91), Name="Oslo"},
    new City(){ LongLat= new Point(12.58,55.67), Name="Copenhagen"}
};
maps.DataContext = cities;