ArcEngine地图漫游的实现
来源:互联网 发布:英语句子分析器软件 编辑:程序博客网 时间:2024/05/16 05:40
#region 地图漫游工具栏代码
//缩小2倍
private void ZoomInfxdButton_Click(object sender, EventArgs e)
{
IActiveView actView = axMapControl1.ActiveView;
IPoint centerPoint = new PointClass();
centerPoint.PutCoords((actView.Extent.XMin + actView.Extent.XMax) / 2, (actView.Extent.YMax + actView.Extent.YMin) / 2);
IEnvelope envlope = actView.Extent;
envlope.Expand(1.5, 1.5, true);
actView.Extent.CenterAt(centerPoint);
actView.Extent = envlope;
actView.Refresh();
}
//放大2倍
private void ZoomOutfxdButton_Click(object sender, EventArgs e)
{
IActiveView actView = axMapControl1.ActiveView;
IPoint centerPoint = new PointClass();
centerPoint.PutCoords((actView.Extent.XMin + actView.Extent.XMax) / 2, (actView.Extent.YMax + actView.Extent.YMin) / 2);
IEnvelope envlope = actView.Extent;
envlope.Expand(0.5, 0.5, true);
actView.Extent.CenterAt(centerPoint);
actView.Extent = envlope;
actView.Refresh();
}
//拉框放大
private void ZoomInButton_Click(object sender, EventArgs e)
{
strMouseOperate = "ZoomIn";
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerZoomIn;
}
//拉框缩小
private void ZoomOutButton_Click(object sender, EventArgs e)
{
strMouseOperate = "ZoomOut";
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerZoomOut;
}
//全图工具
private void FullExtentButton_Click(object sender, EventArgs e)
{
axMapControl1.Extent = axMapControl1.FullExtent;
}
//移动工具
private void PanButton_Click(object sender, EventArgs e)
{
strMouseOperate = "Pan";
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPan;
}
#endregion
private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
{
if(e.button==1)
{
IActiveView actView = axMapControl1.ActiveView; //(IActiveView)axMapControl1.Map;
IEnvelope pEnv = new EnvelopeClass();
switch (strMouseOperate)
{
case "ZoomIn":
pEnv = axMapControl1.TrackRectangle();
actView.Extent = pEnv;
actView.Refresh();
break;
case "ZoomOut":
pEnv = axMapControl1.TrackRectangle();
IPoint pt = new PointClass();
pt.X = (actView.Extent.XMax + actView.Extent.XMin)/2;//(pEnv.XMin + pEnv.XMax) / 2;
pt.Y = (actView.Extent.YMax + actView.Extent.YMin)/2;//(pEnv.XMin + pEnv.YMax) / 2;
pEnv.Width = actView.Extent.Width * (actView.Extent.Width / pEnv.Width);
pEnv.Height = actView.Extent.Height * (actView.Extent.Height / pEnv.Height);
pEnv.CenterAt(pt);
actView.Extent = pEnv;
actView.Refresh();
break;
case "Pan":
axMapControl1.Pan();
break;
default:
break;
}
else if (e.button == 2)
{
strMouseOperate = "";
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerDefault;
}
}
- ArcEngine地图漫游的实现
- VC+MO实现地图的放大,缩小和漫游
- ArcEngine实现动态加载地图
- OpenGL漫游的实现
- VC+MapX 地图的放大,缩小,漫游,归心功能的实现
- 【地图整饰】ArcMap添加地图标题及ArcEngine实现
- ArcEngine地图刷新的效率问题初探
- ArcEngine中使用上下左右键移动地图功能的实现
- ArcEngine中最短路径的实现
- ArcEngine透明Element的实现
- 【地图整饰】ArcMap添加图框及ArcEngine实现
- 实现地图放大(拉框和单击)、缩小(拉框和单击)、漫游操作的简易代码
- 地图打印资源 ArcEngine
- ArcEngine获取ArcGIS Server上的地图服务
- ArcEngine 中把地图坐标转为屏幕坐标的方法
- 简单实现的BSP场景漫游
- Arcengine 实现要素选取的方法(转载)
- Arcengine 实现要素选取的方法(转载)
- C#中,输出二进制文件
- 世界上至少有10种东西是你不知道的 (转)
- ASP模板技术之KudzuASP简介
- 成长的寓言:做一棵永远成长的苹果树
- 天表向月表整合的存储过程(oracle)
- ArcEngine地图漫游的实现
- JAVA里浮点数从字符串解析丢失精度问题
- 关于数字显示的格式化
- 获取Builder C++或Dephi的消息框TMessageForm内容
- 批量建立索引
- vi常用命令总结
- sql具体年月日
- 单步跟踪调试
- 读书笔记《Building embedded linux systems》Chapter 1