在ArcEngine地圖操作中,縮放地圖的功能經常用到,這里做一個小結。
縮放地圖一般可分為以下幾種情況:
1.縮放地圖:與放大地圖相對,一般是手動繪制區域或固定比例縮放,可調用命令或Expand函數來;
2.縮放到圖層:這一種用得比較多,通常是將圖層轉為GeoDataset,利用其他Extent屬性來縮放到圖層;
3.縮放到選中:選中一個或多個要素,根據選擇的要素,創建Geometry,獲取Envelope。如果數據量太大,會比較耗時;
4.縮放到單個要素:有時,為了截取,需要分別縮放到單個要素,這個非常簡單;
5.縮放到單個要素(需要准確顯示周圍信息):往往在縮放到單個要素時,由於圖斑形狀不同,可能不能准確顯示周圍信息,這時需要將地圖適當的再縮小一點,換言之,縮放擴大的單個要素(可用緩沖實現);
6.縮放到選擇圖層:這一種情況比較特殊,需要重點說明。我們在要素類中選擇部分要素后,可創建選擇圖層(pFeatureLayerDefinition的CreateSelectionLayer方法),如果我們直接獲取選擇圖層的Envelope來作為顯示范圍,則不是我們想要的結果,選擇圖層的Envelope與源圖層的Envelope相同,不管選擇多少個要素。無奈,我使用了Envelope的Union方法,重新生成了准確的范圍。