Maps for UWP
ベクターオブジェクト
C1Mapsの使い方 > ベクターレイヤ > ベクターオブジェクト

ベクターレイヤで使用できる主要なベクター要素を次に示します。

このトピックでは、C1VectorLayer および C1VectorPlacemark を使用して、ラベルを地理的位置(米国 Pennsylvania 州 Erie の地理座標)に追加します。ベクターレイヤの詳細については、「ベクターレイヤ」を参照してください。

XAML の場合

次の手順に従います。

  1. 次の XAML を <c1:C1Maps> タグと </c1:C1Maps> タグの間に追加します。
    XAML マークアップ
    コードのコピー
    <C1:C1VectorLayer>
    <C1:C1VectorPlacemark LabelPosition="Left" GeoPoint="-80.107008,42.16389" 
            StrokeThickness="2" Foreground="#FFEB1212"
    PinPoint="-80.010866,42.156831" Label="Erie, PA"/>
    </C1:C1VectorLayer>
    
  2. プロジェクトを実行します。

コードの場合

  1. XAML ビューで、x:Name="C1Maps1"<c1:C1Maps> タグに追加します。これで、このコントロールをコードから呼び出すための一意の識別子が指定されます。
  2. コードビューに切り替えて、次の名前空間をインポートします。
    Visual Basic
    コードのコピー
    Imports C1.Xaml.Maps
    

    C#
    コードのコピー
    using C1.Xaml.Maps;
    
  3. InitializeComponent() メソッドの下に次のコードを追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    ' レイヤを作成してマップに追加します
    Dim vl As C1VectorLayer = New C1VectorLayer()
    C1Maps1.Layers.Add(vl)
    
    'ベクタープレースマークを作成してレイヤに追加します
    Dim vp1 As C1VectorPlacemark = New C1VectorPlacemark()
    vl.Children.Add(vp1)
    
    ' プレースマークを一連の地理座標に設定します
    vp1.GeoPoint = New Point(-80.107008, 42.16389)
    
    ' プレースマークのラベルとプロパティを設定します
    vp1.Label = "Erie, PA"
    vp1.FontSize = 12
    vp1.Foreground = New SolidColorBrush(Colors.Red)
    vp1.LabelPosition = LabelPosition.Center
    

    C# コードの書き方

    C#
    コードのコピー
    // レイヤを作成してマップに追加します
    C1VectorLayer vl = new C1VectorLayer();
    C1Maps1.Layers.Add(vl);
    
    //ベクタープレースマークを作成してレイヤに追加します
    C1VectorPlacemark vp1 = new C1VectorPlacemark();
    vl.Children.Add(vp1);
    
    // プレースマークを一連の地理座標に設定します
    vp1.GeoPoint = new Point(-80.107008, 42.16389);
    
    // プレースマークのラベルとプロパティを設定します
    vp1.Label = "Erie, PA";
    vp1.FontSize = 12;
    vp1.Foreground = new SolidColorBrush(Colors.Red);
    vp1.LabelPosition = LabelPosition.Center;
    
  4. プロジェクトを実行します。

このトピックの作業結果

次の図は、米国 Pennsylvania 州 Erie のラベルが付いた地理座標を含む C1Maps コントロールを示しています。

地理座標を多角形で結ぶには、C1VectorPolygon を C1VectorLayer に追加します。詳細については、「ベクターレイヤ」を参照してください。このトピックでは、XAML またはコードを使用して、3つの点から成る多角形を作成します。

XAML の場合

次の手順に従います。

  1. 次の XAML マークアップを <c1:C1Maps> タグと </c1:C1Maps> タグの間に配置します。
    XAML マークアップ
    コードのコピー
    <C1:C1VectorLayer Margin="2,0,-2,0">
    <C1:C1VectorPolygon Points="-80.15,42.12 -123.08,39.09, -3.90,30.85" 
            StrokeThickness="3" Stroke="Red">
    </C1:C1VectorPolygon>
    </C1:C1VectorLayer>
    
  2. [F5]キーを押してプロジェクトを実行します。

コードの場合

次の手順に従います。

  1. XAML ビューで、x:Name="C1Maps1"<c1:C1Maps> タグに追加します。これで、このコントロールをコードから呼び出すための一意の識別子が指定されます。
  2. コードビューに切り替えて、次の名前空間をインポートします。
    Visual Basic
    コードのコピー
    Imports C1.Xaml.Maps
    

    C#
    コードのコピー
    using C1.Xaml.Maps;
    
  3. InitializeComponent() メソッドの下に次のコードを追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    ' レイヤを作成してマップに追加します
    Dim C1VectorLayer1 As New C1VectorLayer()
    C1Maps1.Layers.Add(C1VectorLayer1)
    
    ' 初期経路
    Dim pts As Point() = New Point() {New Point(-80.15, 42.12), New Point(-123.08, 39.09), New Point(-3.9, 30.85)}
    
    ' コレクションを作成し、データを設定します
    Dim pcoll As New PointCollection()
    For Each pt As Point In pts
       pcoll.Add(pt)
    Next
    
    ' 多角形を作成して、ベクターレイヤに子として追加します
    Dim C1VectorPolygon1 As New C1VectorPolygon()
    C1VectorLayer1.Children.Add(C1VectorPolygon1)
    
    ' ポイント
    C1VectorPolygon1.Points = pcoll
    
    ' 外観
    C1VectorPolygon1.Stroke = New SolidColorBrush(Colors.Red)
    C1VectorPolygon1.StrokeThickness = 3
    

    C# コードの書き方

    C#
    コードのコピー
    // レイヤを作成してマップに追加します
    C1VectorLayer C1VectorLayer1 = new C1VectorLayer();
    C1Maps1.Layers.Add(C1VectorLayer1);
    
    // 初期経路
    Point[] pts = new Point[] { new Point(-80.15,42.12), new Point(-123.08,39.09),
    new Point(-3.90,30.85)};
    
    // コレクションを作成し、データを設定します
    PointCollection pcoll = new PointCollection();
    foreach( Point pt in pts)
    pcoll.Add(pt);
    
    // 多角形を作成して、ベクターレイヤに子として追加します
    C1VectorPolygon C1VectorPolygon1 = new C1VectorPolygon();
    C1VectorLayer1.Children.Add(C1VectorPolygon1);
    
    // ポイント
            C1VectorPolygon1.Points = pcoll;
    
    // 外観
      C1VectorPolygon1.Stroke = new SolidColorBrush(Colors.Red);
      C1VectorPolygon1.StrokeThickness = 3;
    
  4. [F5]キーを押してプロジェクトを実行します。

このトピックの作業結果

次の図は、多角形で結ばれた3つの地理座標を含む C1Maps コントロールを示しています。

このトピックでは、C1VectorLayer および C1VectorPlacemark を使用して、ラベルを地理的位置(米国 Pennsylvania 州 Erie の地理座標)に追加します。ベクターレイヤの詳細については、「ベクターレイヤ」を参照してください。

XAML の場合

次の手順に従います。

  1. 次の XAML を <c1:C1Maps> タグと </c1:C1Maps> タグの間に追加します。
    マークアップ
    コードのコピー
    <C1:C1VectorLayer>
    <C1:C1VectorPlacemark LabelPosition="Left" GeoPoint="-80.107008,42.16389" 
            StrokeThickness="2" Foreground="#FFEB1212"
    PinPoint="-80.010866,42.156831" Label="Erie, PA"/>
    </C1:C1VectorLayer>
    
  2. プロジェクトを実行します。

コードの場合

  1. XAML ビューで、x:Name="C1Maps1"<c1:C1Maps> タグに追加します。これで、このコントロールをコードから呼び出すための一意の識別子が指定されます。
  2. コードビューに切り替えて、次の名前空間をインポートします。
    Visual Basic
    コードのコピー
    Imports C1.Xaml.Maps
    

    C#
    コードのコピー
    using C1.Xaml.Maps;
    
  3. InitializeComponent() メソッドの下に次のコードを追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    ' レイヤを作成してマップに追加します
    Dim vl As C1VectorLayer = New C1VectorLayer()
    C1Maps1.Layers.Add(vl)
    
    'ベクタープレースマークを作成してレイヤに追加します
    Dim vp1 As C1VectorPlacemark = New C1VectorPlacemark()
    vl.Children.Add(vp1)
    
    ' プレースマークを一連の地理座標に設定します
    vp1.GeoPoint = New Point(-80.107008, 42.16389)
    
    ' プレースマークのラベルとプロパティを設定します
    vp1.Label = "Erie, PA"
    vp1.FontSize = 12
    vp1.Foreground = New SolidColorBrush(Colors.Red)
    vp1.LabelPosition = LabelPosition.Center
    

    C# コードの書き方

    C#
    コードのコピー
    // レイヤを作成してマップに追加します
    C1VectorLayer vl = new C1VectorLayer();
    C1Maps1.Layers.Add(vl);
    
    //ベクタープレースマークを作成してレイヤに追加します
    C1VectorPlacemark vp1 = new C1VectorPlacemark();
    vl.Children.Add(vp1);
    
    // プレースマークを一連の地理座標に設定します
    vp1.GeoPoint = new Point(-80.107008, 42.16389);
    
    // プレースマークのラベルとプロパティを設定します
    vp1.Label = "Erie, PA";
    vp1.FontSize = 12;
    vp1.Foreground = new SolidColorBrush(Colors.Red);
    vp1.LabelPosition = LabelPosition.Center;
    
  4. プロジェクトを実行します。

このトピックの作業結果

次の図は、米国 Pennsylvania 州 Erie のラベルが付いた地理座標を含む C1Maps コントロールを示しています。