1. 程式人生 > >PIE SDK 鷹眼圖

PIE SDK 鷹眼圖

table rectangle content tro 查看 apc urn draw play

1. 功能簡介

鷹眼圖,是GIS的一個基本功能,在鷹眼圖上可以可以像從空中俯視一樣查看地圖框中所顯示的地圖在整個圖中的位置。

PIE SDK支持鷹眼圖的功能實現;下面就具體介紹一下。

2. 功能實現說明

2.1. 實現思路及原理說明

第一步

在鷹眼圖pannel內加載地圖文檔

第二步

當地圖範圍發生變化時MapHawkEyePmdControl_OnExtentUpdated(),鷹眼圖發生變化事件

第三步

當點擊鷹眼圖是主地圖發生相應操作事件MapHawkEyeControl_MouseDown()

2.2. 核心接口與方法

接口/類

方法/屬性

說明

PIE.Carto.IPmdContents

PanTo

坐標平移

PIE.AxControls.MapControl

ToMapPoint

將屏幕坐標轉換為地圖坐標

TrackRectangle

鼠標繪制矩形

IPolygonElement

Geometry

設置或獲取元素的空間信息

2.3. 示例代碼

項目路徑

百度雲盤地址下/PIE示例程序/13.小工具集錦/鷹眼圖

數據路徑

百度雲盤地址下/PIE示例數據/地圖文檔/world.pmd

視頻路徑

百度雲盤地址下/PIE視頻教程/13.小工具集錦/鷹眼圖.avi

示例代碼

技術分享圖片
 1   //下面主要介紹的是鷹眼圖和主地圖相關事件的代碼
 2 PIE.Carto.IPmdContents m_BuddyControl;
 3          /// <summary>
 4         /// 鷹眼圖鼠標按下事件
 5         /// </summary>
6 /// <param name="sender">觸發器</param> 7 /// <param name="e">觸發器參數</param> 8 private void MapHawkEyeControl_MouseDown(object sender, MouseEventArgs e) 9 { 10 if (e.Button == MouseButtons.Left) 11 { 12 IPoint point = m_MapHawkEyeControl.ToMapPoint(e.X, e.Y); 13 m_BuddyControl.ActiveView.PanTo(point);//等價於MapControl.CenterAt(point); 14 } 15 else if (e.Button == System.Windows.Forms.MouseButtons.Right) 16 { 17 m_DrawElement.Geometry = null; 18 IEnvelope envelope = m_MapHawkEyeControl.TrackRectangle(); 19 m_BuddyControl.ActiveView.Extent = envelope; 20 } 21 m_BuddyControl.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 22 } 23 /// <summary> 24 /// 主地圖範圍發生變化,鷹眼圖顯示框 25 /// </summary> 26 /// <param name="sender"></param> 27 /// <param name="sizeChanged"></param> 28 /// <param name="newEnvelope">底圖範圍</param> 29 private void MapHawkEyePmdControl_OnExtentUpdated(object sender, bool sizeChanged, IEnvelope newEnvelope) 30 { 31 if (!m_IsSyn) return; 32 if (m_BuddyControl.ActiveView.FullExtent == null) return; 33 if (m_MapHawkEyeControl.ActiveView.FullExtent == null) return; 34 m_DrawElement.Geometry = newEnvelope as IGeometry; m_MapHawkEyeControl.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 35 }
View Code

2.4.示例截圖

技術分享圖片

PIE SDK 鷹眼圖