关于形状的属性设置
所有形状(包括标记、线条和多边形),都有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
生成的地图为:
