我正在尝试在地图上绘制文字字形,所有教程都说我需要一个动态显示,但我不知道如何获得一个。提前致谢。 ; ) 编辑:C#VS2010
答案 0 :(得分:1)
首先,您需要将Map对象的IDynamicMap :: DynamicMapEnabled属性设置为true。
IDynamicMap pDynamicMap = pMap as IDynamicMap;
pDynamicMap.DynamicMapEnabled = true
然后,有两种方法可以获取DynamicDisplay对象。一个是使用实现IDynamicLayer接口创建自定义层。第二个是挂钩IDynamicMapEvents :: BeforeDynamicDraw事件或IDynamicMapEvents :: AfterDynamicDraw事件。我希望这个最佳实践可以帮助你。
答案 1 :(得分: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);