资源简介
用了多种方法,实现了在地图上定时移动某点(可以代表一辆汽车)的方法,有IElement方法,也有内存图层方法.
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.MapControl;
using ESRI.ArcGIS.ToolbarControl;
using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Output;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesGDB;
namespace VehicleMove
{
public partial class frmMain : Form
{
double dx = 116.315691;
double dy = 39.991964;
IActiveView pactiveview;
public frmMain()
{
InitializeComponent();
//
timer1.Enabled = false;
timer2.Enabled = false;
timer3.Enabled = false;
timer4.Enabled = false;
timer5.Enabled = false;
//
this.axToolbarControl1.SetBuddyControl(this.axMapControl1);
pactiveview = this.axMapControl1.ActiveView;
}
//方法1:缺点:有拖尾除非每次刷新,但是刷新会出现不停闪烁
private void timer1_Tick(object sender EventArgs e)
{
dx = dx + 0.001;
dy = dy - 0.0001;
MoveCar();
}
private void MoveCar()
{
//得到当前活动范围
IActiveView pActiveView = axMapControl1.ActiveView;
//开始画笔
pActiveView.ScreenDisplay.StartDrawing(pActiveView.ScreenDisplay.hDC (short)esriScreenCache.esriNoScreenCache);
IPoint ppoint;
IGeometry pgeo;
IPictureMarkerSymbol psymbol = new PictureMarkerSymbolClass();
IRgbColor prgbcolor = new RgbColorClass();
prgbcolor.Red = 0;
prgbcolor.Green = 0;
prgbcolor.Blue = 0;
psymbol.BitmapTransparencyColor = prgbcolor;
psymbol.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureBitmap@“E:\layers\2.bmp“);
psymbol.Size = 15;
psymbol.Angle = 270;
//ISimpleMarkerSymbol psimplesymbol = new SimpleMarkerSymbolClass();
//psimplesymbol.Size = 10;
//psimplesymbol.Color = (IColor)prgbcolor;
ppoint = new PointClass();
ppoint.PutCoords(dxdy);
pgeo = ppoint;
pActiveView.ScreenDisplay.SetSymbol((ISymbol)psymbol);
pActiveView.ScreenDisplay.DrawPoint(ppoint);
//结束画笔
pActiveView.ScreenDisplay.UpdateWindow();
pActiveView.ScreenDisplay.FinishDrawing();
//System.object obj = psymbol;
//this.axMapControl1.DrawShape(pgeo ref obj);
//this.axMapControl1.CenterAt(ppoint);
IEnvelope penv = this.axMapControl1.Extent;
penv.CenterAt(ppoint);
this.axMapControl1.Extent = penv;
}
pr
相关资源
- 动态移动图片
- 空间拓扑查询(ArcEngine)
- ArcEngine画点画线画面C#
- ArcEngine+C#二次开发教程_3SDN
- ArcEngine最全的实验代码GIS程序设计教
- c#+arcengine 空间查询属性查询
- C#+ArcEngine面周边点抽稀源码
- ArcEngine+C#基本功能很全的代码
- ArcEngine 10.0 C#二次开发最新最全帮助文
- ArcEngine 10.0 C#二次开发最新最全帮助文
- C#基于vs2010的ArcEngine开发demo源码
- ArcEngine创建要素数据集、文件地理数
- C#+ArcEngine 二次开发,基本的各种功能
- 最为完整的arcengine基于C#的程序
- ArcEngine 最短路径分析C#源码)
- 基于C#语言的ArcGIS Engine开发基础与技
- ArcEngine+C#缓冲区分析(GP工具+ITopolo
- C# ArcEngine二次开发
- 利用C#和Arcengine实现地图的查询和属性
- C# arcengine 图层操作
- 放大,缩小,图形显示C#+ARCENGINE.rar
- C#+ArcEngine9.3基本功能开发源码
- ArcEngine开发鹰眼功能C#实现
- C#+ArcEngine:加载打开Shp矢量和栅格数
- C#+ArcEngine10.1:打开mxd地图文档VS2010窗
- C#+ArcEngine10.1:txt坐标数据转Shp矢量点
- Arcengine+C# 做空间插值的
- ArcEngine 时间滑块功能
- C# ArcEngine加载打开Las点云数据
- C#+ArcEngine:txt坐标数据转Shp矢量点
评论
共有 条评论