この手順では、Name と LatLong の2つのプロパティを持つクラスを作成し、配列コレクションを使ってそれらのプロパティに値を入力します。また、C1VectorPlacemark を含む C1VectorLayer をコントロールに追加します。次に、Name プロパティを C1VectorPlacemark の Label プロパティに連結し、LatLong プロパティを C1VectorPlacemark の GeoPoint プロパティに連結します。
次の手順に従います。
MainPage.xaml コードページ(MainPage.xaml.cs または MainPage.xaml.vb)を開きます。このページの拡張子は、プロジェクトに選択した言語によって異なります。
次のクラスをプロジェクト内の名前空間宣言の下に追加します。
このクラスは、Name という名前の文字列プロパティおよび LongLat という名前の Point プロパティを含むクラスを作成します。
Visual Basic |
コードのコピー
|
---|---|
Public Class City Private _LongLat As Point Public Property LongLat() As Point Get Return _LongLat End Get Set(ByVal value As Point) _LongLat = value End Set End Property Private _Name As String Public Property Name() As String Get Return _Name End Get Set(ByVal value As String) _Name = value End Set End Property Public Sub New(ByVal location As Point, ByVal cityName As String) Me.LongLat = location Me.Name = cityName End Sub End Class |
C# |
コードのコピー
|
---|---|
public class City { public Point LongLat { get; set; } public string Name { get; set; } } |
次のコードを InitializeComponent() メソッドの下に追加して、Name プロパティおよび LongLat プロパティに入力される配列コレクションを作成します。
Visual Basic |
コードのコピー
|
---|---|
Dim cities() As City = New City() { New City(New Point(-58.40, -34.36), "ブエノスアイレス"), New City(New Point(-47.92, -15.78), "ブラジリア"), New City(New Point(-70.39, -33.26), "サンティアゴ"), New City(New Point(-78.35, -0.15), "キト"), New City(New Point(-66.55, 10.30), "カラカス"), New City(New Point(-77.03, -12.03), "リマ"), New City(New Point(-57.40, -25.16), "アスンシオン"), New City(New Point(-74.05, 4.36), "ボゴタ"), New City(New Point(-68.09, -16.30), "ラパス"), New City(New Point(-58.10, 6.48), "ジョージタウン"), New City(New Point(-55.10, 5.50), "パラマリボ"), New City(New Point(-56.11, -34.53),"モンテビデオ") } C1Maps.DataContext = cities |
Visual Basic |
コードのコピー
|
---|---|
City[] cities = new City[] { new City(){ LongLat= new Point(-58.40, -34.36), Name="ブエノスアイレス"}, new City(){ LongLat= new Point(-47.92, -15.78), Name="ブラジリア"}, new City(){ LongLat= new Point(-70.39, -33.26), Name="サンティアゴ"}, new City(){ LongLat= new Point(-78.35, -0.15), Name="キト"}, new City(){ LongLat= new Point(-66.55, 10.30), Name="カラカス"}, new City(){ LongLat= new Point(-56.11, -34.53), Name="モンテビデオ"}, new City(){ LongLat= new Point(-77.03, -12.03), Name="リマ"}, new City(){ LongLat= new Point(-57.40, -25.16), Name="アスンシオン"}, new City(){ LongLat= new Point(-74.05, 4.36), Name="ボゴタ"}, new City(){ LongLat= new Point(-68.09, -16.30), Name="ラパス"}, new City(){ LongLat= new Point(-58.10, 6.48), Name="ジョージタウン"}, new City(){ LongLat= new Point(-55.10, 5.50), Name="パラマリボ"}, }; C1Maps.DataContext = cities; |
XAML ビューに切り替えて、開始タグと終了タグが含まれるように <c1:C1Maps>マークアップを変更します。次のようになります。
XAML |
コードのコピー
|
---|---|
<c1:C1Maps x:Name="C1Maps1" FadeInTiles="False" Margin="0,0,235,8" TargetCenter="-65,-25" Center="-58,-25" Zoom="2"> </c1> |
Foreground="Aqua" を <c1:C1Maps>タグに追加します。
次の XAML マークアップを<c1:C1Maps> タグと</c1:C1Maps> タグの間に配置します。
XAML |
コードのコピー
|
---|---|
<c1:C1Maps.Resources> <!-- 項目テンプレート --> <DataTemplate x:Key="templPts"> <c1:C1VectorPlacemark GeoPoint="{Binding Path=LongLat}" Fill="Aqua" Stroke="Aqua" 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}" HorizontalAlignment="Right" Width="403" /> |
この XAML は、データテンプレート、C1VectorPlacemark、および C1VectorLayer を作成します。C1VectorLayer の ItemsSource プロパティがデータソース全体に連結されます。また、C1VectorPlacemark の GeoPoint プロパティは LongLat プロパティの値に連結され、Label プロパティは Name プロパティの値に設定されます。プロジェクトを実行すると、Label プロパティおよび Name プロパティにデータソースから値が入力されて、一連のラベル付きプレースマークがマップ上に作成されます。
この手順では、データソースを作成し、それをC1VectorPlacemark のプロパティに連結しました。次の手順では、プログラムを実行して、このクイックスタートガイドで作成したプロジェクトの結果を表示します。