我想在地图上画一个文字字形,所有的教程都说我需要一个IDynamicDisplay,但我不知道如何得到一个。提前致谢。 ; ) 编辑:C#VS2010如何在ArcObjects中创建IDynamicDisplay对象?
0
A
回答
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事件。我希望这个最佳实践可以帮助你。