Как говориться в
http://edndoc.esri.com/arcobjects/9.2/C ... erview.htm
Design Patterns
There are many ways to store and draw event data in your application. The most common methods are as follows:
Create a feature class and add and remove features as necessary. Use standard renderers or custom symbols to draw features. Draw above or below any other layers. Wrap with feature layer that has its own display cache for best performance (i.e., set ILayer::Cached to true).
Create a custom layer. Use either a proprietary data base or a feature class to store features. Implement custom rendering in layer (i.e., use GDI+ directly). Draw above or below any other layers. Give feature layer its own display cache for best performance.
Create a graphics layer. Store data as graphic elements. Render using standard or custom symbol. Draws above all other layers.
Draw in response to IActiveViewEvents::AfterDraw(esriViewForeground). Store data in proprietary data base. Draw directly using either GDI or IDisplay. Draws on top of everything else. Fast! GPS extension uses this approach.
Note the three common ways to store custom data:
Features in a GeoDatabase
Elements in a graphics layer
Proprietary data structure.
The best choice depends on where in the drawing order your events need to draw, whether you want to use standard rendering objects, and whether or not you need to support a proprietary data format.
In all cases, the standard Invalidation model of drawing should be used. That is, create an object that draws (i.e., layer, graphic element, or event handler), plug it into your map, and call IActiveView::PartialRefresh when you want it to draw.
Перевожу применительно к вашей задаче варианты:
1) Загружать / выгружать геопривязанные растры в карту
2) Создать custom layer со своим отрисовщиком
3) Создать graphics layer и рисовать с помощью типовых или пользовательских символов
4) Рисовать напрямую через GDI
Если ни один из четырех пунктов вам ничего не говорит, я не смогу объяснить как вам делать дальше.