Map类 是核心类 包含着各个图层layers的引用 GetMap进行渲染
除了GetMap渲染方法外 还有
1.Dispose方法 对layers集合内每个图层进行dispose 最后清空集合
2.FindLayer方法 返回图层集合 通过对比每个图层的名字得到要查询的图层集合
3.GetLayerByName 通过名字搜索图层
4.GetExtents方法 获得全图时的BBox 通过join每个图层的Envelope实现
5.ZoomToBox方法 通过BBox设置新的Zoom与Center
6.ZoomToExtents方法 使用ZoomToBox方法把当前视图设置为全图(通过Map.GetExtents获得全图的BBox)
7.ImageToWorld和WorldToImage两个方法 通过工具类Transform实现图片坐标与实际坐标转换
Transform类只有这两个静态方法
Transform的MapToWorld方法 通过Map.Envelope的最小X值和最大Y值(图片Y坐标方向与地理坐标Y方向相反)获得实际地理坐标
map.PixelWidth=PixelSize即每像素代表实际地理坐标长度
map.PixelHeight即每像素代表实际地理坐标宽度 通过像素比例(像素高宽比默认为1.0)与PixelWidth得到
Transform的WorldToImage方法 left top相当于env.Min.X和env.Max.Y
其实现如下:
Map的属性里 除了渲染流程里面涉及到的Size Zoom Center Envelop MapHeight以及上面提到的PixelWidth,PixelSize,PixelHeight,PixelAspectRatio之外
还有BackColor;Layers;允许的最大最小Zoom:MinimumZoom MaximumZoom
总结:Map是各种Layer的容器,负责渲染地图(GetMap),设定图片大小(Size),设定地理范围(Zoom+Center或Envelop或ZoomToBox),保存地图最大外框(GetExtent),转换图片坐标与地理坐标,是最重要的用户接口。