2010-08-27 86 views

回答

0

你必须要连接一个事件处理程序

ESRI.ArcGIS.Carto.IDynamicMapEvents_Event dynamicMapEvents = dynamicMap as ESRI.ArcGIS.Carto.IDynamicMapEvents_Event; 
ESRI.ArcGIS.Carto.IActiveViewEvents_Event avEvents = activeView as ESRI.ArcGIS.Carto.IActiveViewEvents_Event; 
avEvents.AfterDraw += new ESRI.ArcGIS.Carto.IActiveViewEvents_AfterDrawEventHandler(avEvents_AfterDraw); 
dynamicMapEvents.AfterDynamicDraw += new IDynamicMapEvents_AfterDynamicDrawEventHandler(dynamicMapEvents_AfterDynamicDraw); 
1

首先,你需要从地图对象IDynamicMap :: DynamicMapEnabled属性设置为true。

IDynamicMap pDynamicMap = pMap as IDynamicMap; 
pDynamicMap.DynamicMapEnabled = true 

然后,有两种方法可以获得DynamicDisplay对象。一个是使用实现IDynamicLayer接口创建自定义层。第二个是钩住IDynamicMapEvents :: BeforeDynamicDraw事件或IDynamicMapEvents :: AfterDynamicDraw事件。我希望这个最佳实践可以帮助你。

Best practices for using dynamic display