在ArcEngine地图操作中,缩放地图的功能经常用到,这里做一个小结。
缩放地图一般可分为以下几种情况:
1.缩放地图:与放大地图相对,一般是手动绘制区域或固定比例缩放,可调用命令或Expand函数来;
2.缩放到图层:这一种用得比较多,通常是将图层转为GeoDataset,利用其他Extent属性来缩放到图层;
3.缩放到选中:选中一个或多个要素,根据选择的要素,创建Geometry,获取Envelope。如果数据量太大,会比较耗时;
4.缩放到单个要素:有时,为了截取,需要分别缩放到单个要素,这个非常简单;
5.缩放到单个要素(需要准确显示周围信息):往往在缩放到单个要素时,由于图斑形状不同,可能不能准确显示周围信息,这时需要将地图适当的再缩小一点,换言之,缩放扩大的单个要素(可用缓冲实现);
6.缩放到选择图层:这一种情况比较特殊,需要重点说明。我们在要素类中选择部分要素后,可创建选择图层(pFeatureLayerDefinition的CreateSelectionLayer方法),如果我们直接获取选择图层的Envelope来作为显示范围,则不是我们想要的结果,选择图层的Envelope与源图层的Envelope相同,不管选择多少个要素。无奈,我使用了Envelope的Union方法,重新生成了准确的范围。