0

我正在尝试在地图上绘制文本字形,所有教程都说我需要一个 IDynamicDisplay,但我不知道如何做到这一点。提前致谢。; ) 编辑:C# VS2010

4

2 回答 2

1

首先,您需要将 Map 对象的 IDynamicMap::DynamicMapEnabled 属性设置为 true。

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

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

使用动态显示的最佳实践

于 2013-04-12T16:08:01.537 回答
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);
于 2010-08-27T20:42:14.053 回答