PIE SDK 鹰眼图

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         }

2.4.示例截图

原文地址:https://www.cnblogs.com/PIESat/p/10208104.html

时间: 2024-10-07 21:59:39

PIE SDK 鹰眼图的相关文章

PIE SDK Command&amp;&amp;Tool工具命令一览表

PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls.RasterCommand PIE.Controls.dll 2 加载矢量数据 PIE.Controls.VectorCommand 3 加载科学数据集数据 PIE.Controls.ScientificDatasetCommand 4 加载环境数据 PIE.Controls.LoadHJDataComma

PIE SDK 基于Dot net bar实现比例尺控件

最近在搭建主界面的过程中,为了界面美观大方,使用了Dot net bar.但是,在Dot net bar的状态栏中放置PIE SDK自带的比例尺控件,运行主界面程序后,比例尺控件始终不显示比例尺信息,得不到想要的效果.如果使用Windows Form自带的状态栏,则能够正常显示比例尺信息.我猜想,可能是PIE SDK自带的比例尺控件与Dot net bar不兼容.我参考了官方博客(https://www.cnblogs.com/PIESat/p/10272779.html),利用Dot net

Arcgis apis for flex项目实例—开发篇(2):鹰眼图

在底图调用完成后,我们要为地图添加一些工具,首先就是出场率很高的鹰眼图.我这里的鹰眼图是从ESRI的Flex Viewer中剥离出来的,申明一下,怕ESRI说我侵权.经常有人质疑我为什么不直接用Viewer而要费心思自己去写一些组件.我个人的经验是Viewer东西太多了,很臃肿,对于我们这样有整洁强迫症的人来说工程里存在大量用不着的代码非常难受,其实也不光是心理作用了,确实Viewer不经过大量优化会加载比较慢.但是,Viewer中有很多思想和很多组件是非常好用的,比如这个鹰眼,所以我们依然要借

PIE SDK图层渲染变化事件监听

1. 功能简介 通过PIE SDK加载图层后,会默认的赋值给数据一个渲染.当用户重新给数据赋值Render或改变数据显示效果时,会触发渲染变化事件. 所谓的事件监听是在事件触发时,将执行用户指定的函数或方法,已实现特定的功能. 2. 功能实现说明 2.1 实现思路及原理说明 第一步 栅格图层接口转换至ILayerEvents 第二步 OnRenderChanged进行事件绑定,以达到监听目的. 2.2  核心接口与方法 接口/类 方法 说明 Carto. ILayerEvents OnRende

PIE SDK矢量数据项查看

1功能简介 矢量数据由大量要素信息构成,矢量数据项查看可以看到数据的属性表,下面就基于PIE SDK,介绍矢量数据项查看功能的实现. 2功能实现说明 2.1实现思路及原理说明 第一步 加载图层 第二步 将图层和对话框进行绑定 2.2 核心接口与方法 接口/类 方法/属性 说明 PIE.AxControls.FeatureLayerAttributeDialog Initial(IMap map, ILayer layer) 初始化 PIE.AxControls.PIETOCNodeTag Map

PIE SDK点元素的绘制

1功能简介 在数据的处理中会用到点元素的绘制,目前PIE SDK支持IMarkerSymbol的点元素的绘制,MarkerSymbol对象是用于修饰点状对象的符号,它包括ArrowMarkerSymbol(箭头形式的符号).CharacterMarkerSymbol(字符形式的点符号).MultiLayerMarkerSymbol(多个符号叠加生成的新的点符号).PictureMarkerSymbol(以图片为背景的点符号).SimpleMarkerSymbol(简单类型的点符号)这5个不同类型

PIE SDK文本元素的绘制

1功能简介 在数据的处理中会用到文本元素的绘制,利用ITextElement文本元素接口进行绘制,目前PIE SDK支持ITextSymbol符号接口,TextSymbol对象是用于修饰文字元素对象的符号,它实现了ITextSymbol接口,其实现了字体角度.字体.字号大小等属性的获取和设置. 2功能实现说明 2.1.1 实现思路及原理说明 第一步 设置文本的Geometry信息 第二步 设置文本的符号 第三步 绘制元素 2.1.2 核心接口与方法 接口/类 方法/属性 说明 ITextElem

PIE SDK元素事件的监听

1功能简介 元素在操作的过程中,如添加,删除,选中等操作都需要有事件的监听,PIE SDK支持对元素操作事件的监听,下面对元素事件的监听进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一步 地图初始化进行窗体绑定,声明元素的监听事件 第二步 当触发监听事件时进行事件操作 2.1.2 核心接口与方法 接口/类 方法/属性 说明 IGraphicsContainer DeleteElement(IElement element) 删除指定元素 AddElement () 添加元素 Se

PIE SDK元素的选择和取消选择

1功能简介 在数据的查看等时候会用到元素的选择, 目前PIE SDK支持元素的选择和去取消选择功能,下面对这两种功能如何使用进行介绍. 2功能实现说明 2.1元素的选择 2.1.1 实现思路及原理说明 第一步 设置文本的Geometry信息 第二步 设置文本的符号 2.1.2 核心接口与方法 接口/类 方法/属性 说明 SelectElementTool 选择元素工具 ICommand OnCreate(); 创建对象 2.1.3示例代码 项目路径 百度云盘地址下/PIE示例程序/08元素绘制/