Как я могу создать объект IDynamicDisplay в ArcObjects? - PullRequest
0 голосов
/ 27 августа 2010

Я пытаюсь нарисовать текстовый глиф на карте, и все учебники говорят, что мне нужен IDynamicDisplay, но я не знаю, как его получить. Заранее спасибо. ; ) редактировать: C # VS2010

Ответы [ 2 ]

1 голос
/ 12 апреля 2013

Сначала вам нужно установить свойство IDynamicMap :: DynamicMapEnabled из объекта Map в true.

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

Затем есть два способа получить объект DynamicDisplay.Одним из них является создание пользовательского слоя с интерфейсом IDynamicLayer.Второй - перехват события IDynamicMapEvents :: BeforeDynamicDraw или события IDynamicMapEvents :: AfterDynamicDraw.Я надеюсь, что эта лучшая практика поможет вам.

Лучшие практики по использованию динамического дисплея

0 голосов
/ 28 августа 2010

Вы должны подключить обработчик событий

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);
...