ArcGIS添加鹰眼

axMapControl1是主地图 axMapControl2是鹰眼地图

 1 private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e)
 2         {
 3             //获取地图当前的范围(包络线)
 4             IEnvelope pEnvelope = (IEnvelope)e.newEnvelope;
 5             //将鹰眼地图设置为地理容器,再设置为活动视图
 6             IGraphicsContainer pGraphicsContainer = axMapControl2.Map as IGraphicsContainer;
 7             IActiveView pActiveView = pGraphicsContainer as IActiveView;
 8             //清除鹰眼地图中的任何图形元素
 9             pGraphicsContainer.DeleteAllElements();
10             //设置矩形范围
11             IRectangleElement pRectangeEle = new RectangleElementClass();
12             IElement pElement = pRectangeEle as IElement;
13             pElement.Geometry = pEnvelope;
14
15             //创建鹰眼图中的红线框
16             IRgbColor pColor = new RgbColor();
17             pColor.Red = 255;
18             pColor.Blue = 0;
19             pColor.Green = 0;
20             pColor.Transparency = 255;
21
22             //创建线符号对象
23             ILineSymbol pOutline = new SimpleLineSymbolClass();
24             pOutline.Width = 3;
25             pOutline.Color = pColor;
26
27             //设置颜色属性
28             pColor = new RgbColorClass();
29             pColor.Red = 255;
30             pColor.Blue = 0;
31             pColor.Green = 0;
32             pColor.Transparency = 0;
33
34             //设置填充符号
35             IFillSymbol pFillSymbol = new SimpleFillSymbolClass();
36             pFillSymbol.Color = pColor;
37             pFillSymbol.Outline = pOutline;
38
39             IFillShapeElement pFillShapeEle = pElement as IFillShapeElement;
40             pFillShapeEle.Symbol = pFillSymbol;
41
42             pGraphicsContainer.AddElement((IElement)pFillShapeEle, 0);
43             pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
44         }
45
46         private void axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)
47         {
48             if (axMapControl1.LayerCount > 0)
49             {
50                 axMapControl2.Map = new MapClass();
51                 for (int i = 0; i <= axMapControl1.LayerCount - 1; i++)
52                 {
53                     axMapControl2.Map.AddLayer(axMapControl1.Map.get_Layer(i));
54                 }
55                 axMapControl2.Extent = axMapControl1.Extent;
56                 axMapControl2.Refresh();
57             }
58             //axMapControl2.LoadMxFile(axMapControl1.DocumentFilename);
59             //axMapControl2.Refresh();
60             //axMapControl2.Extent = axMapControl2.FullExtent;
61         }
62
63         private void axMapControl2_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e)
64         {
65             if (e.button == 1)
66             {
67                 IPoint pPoint = new PointClass();
68                 pPoint.PutCoords(e.mapX, e.mapY);
69                 axMapControl1.CenterAt(pPoint);
70                 axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
71             }
72         }
73
74         private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
75         {
76             if (axMapControl2.Map.LayerCount > 0)
77             {
78                 if (e.button == 1)
79                 {
80                     IPoint pPoint = new PointClass();
81                     pPoint.PutCoords(e.mapX, e.mapY);
82                     axMapControl1.CenterAt(pPoint);
83                     axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
84                 }
85                 else
86                 {
87                     IEnvelope pEnv = axMapControl2.TrackRectangle();
88                     axMapControl1.Extent = pEnv;
89                     axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
90                 }
91
92             }
93         }
时间: 2024-11-15 20:05:04

ArcGIS添加鹰眼的相关文章

Arcgis Engine - 鹰眼(减少闪烁)

网上看到的代码,都是一个模样,经过不断调试,无意中效果就可以了.主要是在"鼠标拖动的时候",网上的代码的鹰眼效果,感觉坑爹死了,闪烁超级严重.主要原因是鼠标拖动的时候,进行时时更新. 我在"天地图"上,它实现的效果也是鼠标拖动放开后才更新.以下是我对网上的代码进行稍微的改动: 主视图: #region 主视图事件. //同步鹰眼视图和主视图. private void map_main_OnMapReplaced(object sender, ESRI.ArcGIS

arcgis 添加经纬度坐标点

ArcGIS 10.2导入X.Y坐标(经度.纬度),生成Shapefile点数据   参考博客很完整 基站-纬度-经度 1---- 2----X 经度  Y 纬度  Z高程(没有) 3---一开始只定义地理坐标WGS84  4---data导出为shapefile文件  5---data management-projection-再定义投影坐标 原文地址:https://www.cnblogs.com/Roxy121314/p/10222272.html

C#+arcengine10.0+SP5实现鹰眼(加载的是mdb数据库中的数据)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.esriSystem; using ES

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用. ------------------------------------------------------------------------------------------------- 第一部分 控件 目前官方支持的控件包含:缩放控制条-地图

百度地图 添加控件

<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script typ

【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件

原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器——notepad++: 如何为地图添加控件——鱼骨.鹰眼.比例尺.2D3D转换控件.版权控件. ----------------------------------------------------------------------------------------------------------------- 一.安装配置notepad++ 为什么

【百度地图API】建立全国银行位置查询系统(三)——如何在地图上添加银行标注

原文:[百度地图API]建立全国银行位置查询系统(三)--如何在地图上添加银行标注 <摘要>你将在第三章中学会以下知识: 如何在地图上添加带银行logo的标注?(你也可以换成商场logo,酒店logo等) 如何在标注上显示信息窗口,以及添加文字标签等其他覆盖物: 最后,介绍一个获取坐标的给力工具. ---------------------------------------------------------------------------------------------------

arcgis android 10.2.5开发环境配置

在android studio新建Android项目 最低sdk选4.0.3,arcgis android 10.2.5最低支持版本修改成了4.0了,如果没记错的话. 添加arcgis android 10.2.5的支持 官方指导链接: https://developers.arcgis.com/android/guide/install-and-set-up.htm 修改项目的gradle文件 allprojects { repositories { jcenter() // Add the

离线地图解决方案(二):地图基本控制

地图鹰眼,比例尺,地图缩放控件应用,地图放大.缩小.设置中心点,设置瓦片显示层级等.功能没什么好说的,直接上图: 代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh