关于形状的属性设置

所有形状(包括标记、线条和多边形),都有Style和Stroke属性。

Style用于设置标记标记和多边形的背景。

Stroke用于设置线条、标记和多边形的边框。

此外标记还有LabelStyle属性,用于设置标记的标题。

同一个矢量层的标记、线条和多边形,往往具有相似的属性设置,所以矢量层也有Style、Stroke和LabelStyle属性,用于对该矢量层中的形状进行统一设置。

示例

Dim map As GeoMap = e.Form.Controls("Map1").GeoMap
Dim
layer As New VectorLayer()
layer.LabelVisibility = LabelVisibility.Visible
map.Layers.Add(layer)

'通过矢量层的属性对形状进行
默认设置
layer.Style.BackColor = Color.Blue
layer.Style.Stroke.Color = Color.Green
Layer.Style.Stroke.Width = 2
layer.LabelStyle.BackColor = Color.Blue
layer.LabelStyle.ForeColor = Color.White

'
绘制标记
Dim
cities As New Dictionary(Of String, GeoPoint)
cities.Add(
"北京", New GeoPoint(116.4053, 39.905))
cities.Add(
"上海", New GeoPoint(121.4726, 31.2317))
cities.Add(
"广州", New GeoPoint(113.2806, 23.1252))
cities.Add(
"成都", New GeoPoint(104.0657, 30.6595))
cities.Add(
"哈尔滨", New GeoPoint(126.6425, 45.757))
For
Each city As String In cities.Keys
   
Dim mark As New VectorPlacemark()
    mark.Marker.Caption = city
    mark.Geometry = cities(city)
    mark.Marker.Size =
New SizeF(20, 20)
    mark.Marker.Shape = MarkerShape.Circle
    mark.Marker.LabelPosition = LabelPosition.Right
   
If city = "北京" Then '北京的设置不一样
        mark.Style.Stroke.Width = 8
        mark.Style.BackColor = Color.Red
        mark.Style.Stroke.Color = Color.Blue
        mark.LabelStyle.BackColor = Color.Red
        mark.LabelStyle.ForeColor = Color.White
   
End If
    layer.Items.Add(mark)

Next

生成的地图为:


本页地址:http://www.foxtable.com/webhelp/topics/6148.htm