准备画布
流程图是基于地图控件实现的,因为地图控件已经有图形绘制和缩放功能,我们无需另起炉灶。
绘制流程图需要一块画布,Map控件就是我们的画布,但为了使其更适合作为一块画布,需要做一些准备工作:
1、地图是一个球面,高纬度地区容易出现变形,所以需要排除高纬度地区
2、为进一步减少变形,Map控件采用Gall
Peters投影方式。
3、建议将Map空间的缩放指数设置为12,这样不管是放大还是缩小,都有足够的空间。
4、将地图的中心位置设置为画布的偏左上位置,因为流程图通常是往右下方向绘制的。
所以,在接下来的流程图绘制示例中,你都会看到类似下面的代码:
'初始化地图控件,不是必须的,只是使得地图控件更适合作为流程图控件使用:
Dim
map
As
GeoMap = e.Form.Controls("Map1").GeoMap
map.UseGallPetersProjection =
True
'采用Gall
Peters投影方式
map.Viewport.Limits.MaxLat = 60
'排除高纬度地区,因为高纬度地区变形大
map.Viewport.Limits.MinLat = -60
map.Zoom = 12
'缩放指数设置为12,留足够的区间用于放大和缩小
map.CenterTo( - 160, 50)
'中心点设置在有效区域的左上,因为通常都是往右下绘制,同时也留有一定的余地往左上绘制