Maps for WinForms
KML ファイルを使用した図形の表示
Map コントロールの操作 > ベクターデータの追加 > KML ファイルを使用した図形の表示

KML は、地理的な表示と注釈に使用される XML ベースの言語で、最初は Google Earth 用に作成されました。詳細については、「https://developers.google.com/kml/documentation/」を参照してください。

KML インポートは、 KmlReader クラスによって実行されます。このクラスには、用意された KML ソース(文字列またはストリーム)からベクターオブジェクトのコレクションを作成するための静的メソッドがあります。このコレクションは、 VectorLayerに簡単に追加できます。

圧縮された KML ファイル(KMZ)を使用して、マップに図形を追加することもできます。次のコードは、KMZ ファイルを使用してマップに図形を追加します。

Dim vl = MapReader.LoadKmlFile("WorldMap.kmz", Function(vector, data) 
Dim name = TryCast(data("name"), String)
vector.Tag = name

'  ベクターデータのカスタマイズ
Dim fillColor = TryCast(data(KmlReader.StyleFillColor), String)
If fillColor IsNot Nothing Then
        vector.Style.BackColor = MapReader.GetKmlStyleColor(fillColor)
End If

Dim placemark = TryCast(vector, C1.Win.Map.VectorPlacemark)
If placemark IsNot Nothing Then
        placemark.Marker.Caption = name
        placemark.Lod = New LOD(0, 0, 2, 20)
End If

End Function)
vl.LabelVisibility = LabelVisibility.AutoHide

' 各ベクトルを介してスタイルを設定する代わりに、ベクトルとラベルのデフォルトスタイルを設定します
vl.Style.Stroke.Color = Color.Blue
vl.Style.Stroke.Width = 1
vl.LabelStyle.ForeColor = Color.Green

c1Map1.Layers.Add(vl)

上のコードでは、既に作成した MapReader というクラスを参照しています。このクラスは、KMZ ファイルからベクターデータを読み込みます。

KMZ ファイルから図形を追加すると、マップは次の図のようになります。