ArcgisEngine实现对地图的放大、缩小和平移

编程技术  /  houtizong 发布于 3年前   165

ArcgisEngine实现对地图的放大、缩小和平移:

 个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.

 具体实现:

一、引入命名空间

   using ESRI.ArcGIS.Geometry;

   using ESRI.ArcGIS.Controls;

二、代码实现.

  

int flag = 0;  private void 放大ToolStripMenuItem_Click(object sender, EventArgs e){  axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPageZoomIn;   flag = 1;        }  private void 缩小ToolStripMenuItem_Click(object sender, EventArgs e){   axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPageZoomOut;   flag = 2;                }  private void 平移ToolStripMenuItem_Click(object sender, EventArgs e){   axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPan;   flag = 3;     }   private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e){   IEnvelope ipenv= axMapControl1.TrackRectangle();      if(flag==1){        axMapControl1.Extent = ipenv;      }else if(flag==2){           ipenv = axMapControl1.Extent;           ipenv.Expand(2, 2, true);           axMapControl1.Extent = ipenv;            }else if(flag==3){               ipenv= axMapControl1.Extent ;                axMapControl1.Pan();            }                   }    }

 

 三、补充:

   在AE中,在地图控件中添加.jpg.bmp类型图层文件时,调用下面方法会简单很多的.

   

IRasterLayer rasterLayer = new RasterLayer(); rasterLayer.CreateFromFilePath(str); axMapControl1.AddLayer(rasterLayer, 0);

 其中,str是文件路径.

 

 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客