鷹眼功能的實現(步驟,無代碼)


鷹眼的實現最常用的是添加一個MapControl,顯示全圖,並與主地圖控件進行交互。

axMapControl1 主地圖控件    axMapControl2 鷹眼地圖控件

1.載入地圖到鷹眼控件

 地圖載入到主地圖控件的同時也載入鷹眼控件。在axMapControl1_OnMapReplaced事件中添加相應函數

 循環遍歷axMapControl1控件中的所有圖層,並添加到mapControl2中,然后設置mapControl2的Extent屬性為FullExtent

2.繪制鷹眼矩形框

  主Map控件的范圍更改時,即重新繪制矩形框。代碼添加到axMapControl1_OnExtentUpdated事件中

3.鷹眼與主地圖控件的互動

 axMapControl2_OnMouseDown事件中,

如果是鼠標左擊,移動矩形框。通過事件參數設置IPoint類型的變量,通過主地圖控件獲取Envelope對象

 設置Envelope對象CenterAt 獲取的IPoint對象。然后將設置主地圖控件的Extent屬性為設置好的Envelope對象,此時就觸發了OnExtentUpdated事件,通過

 該事件觸發,即可實現對鷹眼控件矩形框的重繪。

 如果是右擊,通過axMapControl2.TrackRectangle()方法獲取Envelope對象,設置主地圖控件的Extent屬性為該Envelope對象,觸發OnExtentUpdated事件,   實現鷹眼控件矩形框的重繪。

 鷹眼控件的MouseMove事件中,

 按下鼠標左鍵,獲取鼠標單擊點的位置,生成IPoint對象。然后設置axMapControl1.CenterAt該對象。觸發OnExtentUpdated事件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM