com.esri.arcgis.carto
Class Map

java.lang.Object
  extended by com.esri.arcgis.carto.Map
All Implemented Interfaces:
IActiveView, IBasicMap, IBasicMap2, IDynamicMap, IGraphicsContainer, IGraphicsContainerSelect, ILayerMasking, ILevelMasking, IMap, IMapAdmin, IMapAdmin2, IMapAdmin3, IMapAdmin4, IMapBarriers, IMapBarriers2, IMapBookmarks, IMapBookmarks2, IMapCache, IMapGeographicTransformations, IMapLayers, IMapOverposter, IMxdContents, IRelationshipClassCollection, ISelectionEvents, IStandaloneTableCollection, ITableCollection, IViewManager, IViewRefresh, IConnectionPointContainer, IDisplayAdmin, IDisplayEvents, ITransformEvents, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, Externalizable, Serializable, EventListener

public class Map
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IMap, IBasicMap, IBasicMap2, IMapBarriers, IMapBarriers2, IActiveView, IViewManager, IViewRefresh, IGraphicsContainer, IGraphicsContainerSelect, IConnectionPointContainer, IPersistStream, IPersist, IMapBookmarks, IMapBookmarks2, ISelectionEvents, IDisplayEvents, ITransformEvents, ITableCollection, IStandaloneTableCollection, IDisplayAdmin, IMapAdmin, IMapAdmin2, IMapAdmin3, IMapAdmin4, IRelationshipClassCollection, IMapGeographicTransformations, IMapCache, ILayerMasking, ILevelMasking, IMxdContents, IMapOverposter, IMapLayers, IDynamicMap, Externalizable

A container for the display and manipulation of map data.

Remarks

A Map object is a container for map data. A Map object contains layers of both feature and graphic data.

The following is true for the ArcMap application model. Developers creating their own application may find some things different.

Every map document contains at least one Map object. Only one Map can have focus at a time and this Map is termed the focus map. A FocusMap property is conveniently placed on the IMxDocument interface. IMxDocument also has a Maps property which returns a reference (IMaps) to the entire collection of Maps. With IMaps you can get a create or delete Maps or get a reference to an existing Map.

All of the layers in a map share the same spatial reference. The Map's spatial reference is automatically set to the spatial reference of the first layer loaded. New layers loaded into a Map are projected to the Map's spatial reference if their spatial reference is different.

Map's are contained by MapFrames - the PageLayout object has a MapFrame and a MapFrame has a Map. Each Map, in turn, has a collection of Layers and MapSurrounds. Each MapSurround is also associated with a MapSurroundFrame. There are several types of Layers including FeatureLayers, FDOGraphicsLayers, and GroupLayers. MapSurrounds include Legends, NorthArrows, and ScaleBars.

Every Map has a Basic Graphics Layer where all graphics including labels are drawn by default. Users may create additional graphics layers called Groups or Annotation Target Layers all of which are managed by the CompositeGraphicsLayer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
com.esri.arcgis.carto.IMxDocument, Serialized Form

Constructor Summary
Map()
          Constructs a Map using ArcGIS Engine.
Map(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Map theMap = (Map) obj;
 
Method Summary
 void activate(int hWnd)
          Gives this view control of the specified window.
 void addBookmark(ISpatialBookmark bookmark)
          Adds a bookmark to the collection.
 void addElement(IElement element, int zorder)
          Add a new graphic element to the layer.
 void addElements(IElementCollection elements, int zorder)
          Add new graphic elements to the layer.
 void addIActiveViewEventsListener(IActiveViewEvents theListener)
          addIActiveViewEventsListener.
 void addIDynamicMapEventsListener(IDynamicMapEvents theListener)
          addIDynamicMapEventsListener.
 void addIMapEventsListener(IMapEvents theListener)
          addIMapEventsListener.
 void addLayer(ILayer layer)
          Adds a layer to the map.
 void addLayers(IEnumLayer layers, boolean autoArrange)
          Adds multiple layers to the map, arranging them nicely if specified.
 void addMapSurround(IMapSurround mapSurround)
          Adds a map surround to the map.
 void addStandaloneTable(IStandaloneTable table)
          Adds a standalone table to the collection.
 void addTable(ITable table)
          Adds a table to the collection.
 void animationRefresh(int phase, Object data, IEnvelope envelope)
          Use to quickly redraw a phase that has it's own cache, i.e., a tracking layer.
 void animationRefreshShape(int phase, Object data, IGeometry geometry, double symbolSizePoints)
          Use to quickly redraw a phase that has it's own cache, i.e., a tracking layer.
 void boundsUpdated(ITransformEventsBoundsUpdatedEvent theEvent)
          Notifies clients when the bounds is updated.
 void bringForward(IEnumElement elements)
          Move the specified elements one step closer to the top of the stack of elements.
 void bringToFront(IEnumElement elements)
          Make the specified elements draw in front of all other elements.
 void buildCache()
          Build the spatial cache.
 void clear()
          Empties the view contents.
 void clearLayers()
          Removes all layers from the map.
 void clearMapSurrounds()
          Removes all map surrounds from the map.
 void clearMasking(ILayer layer)
          Clear masking layers on a layer.
 void clearSelection()
          Clears the map selection.
 boolean completeRedrawNeeded()
          Check if a complete redraw is needed.
 double computeDistance(IPoint p1, IPoint p2)
          Computes the distance between two points on the map and returns the result.
 void contentsChanged()
          Called by clients when view objects are modified.
 IMapSurround createMapSurround(IUID clsid, IMapSurround optionalStyle)
          Create and initialize a map surround.
 void deactivate()
          Another view takes over the associated window.
 void delayDrawing(boolean delay)
          Suspends drawing.
 void delayEvents(boolean delay)
          Used to batch operations together to minimize notifications.
 void deleteAllElements()
          Delete all the elements.
 void deleteElement(IElement element)
          Delete the given element.
 void deleteLayer(ILayer layer)
          Deletes a layer from the map.
 void deleteMapSurround(IMapSurround mapSurround)
          Deletes a map surround from the map.
 void deviceFrameUpdated(ITransformEventsDeviceFrameUpdatedEvent theEvent)
          Notifies clients when the device frame is updated.
 void displayFinished(IDisplayEventsDisplayFinishedEvent theEvent)
          Notifies clients when drawing completes.
 void displayInvalidated(IDisplayEventsDisplayInvalidatedEvent theEvent)
          Notifies clients when display is invalidated.
 void displayScrolled(IDisplayEventsDisplayScrolledEvent theEvent)
          Notifies clients when display is scrolled.
 void displayStarted(IDisplayEventsDisplayStartedEvent theEvent)
          Notifies clients when drawing starts.
 void draw(int hDC, ITrackCancel trackCancel)
          Draws the view to the specified device context.
 boolean elementSelected(IElement element)
          Indicates if the element is selected.
 void emptyCache()
          Empty the map cache.
 void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
          enumConnectionPoints
 boolean equals(Object o)
          Compare this object with another
 void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP)
          findConnectionPoint
 IFrameElement findFrame(Object frameObject)
          Find the frame that contains the specified object.
 IEnumRelationshipClass findRelationshipClasses(IObjectClass objectClass, int role)
          Finds all relationship classes in the collection that reference the given object class in the specified role.
 void fireAfterDraw(int hDC)
          Fire AfterDraw(esriViewForeground) event.
 void fireChangeFeatureClass(IFeatureClass oldClass, IFeatureClass newClass)
          Notifies listeners that the a layer's class has changed.
 void fireChangeTable(ITable oldTable, ITable newTable)
          Notifies listeners that the a layer's class has changed.
 void fireChangeVersion(IVersion oldVersion, IVersion newVersion)
          Notifies listeners that a version in the map changed.
 void fireLayerAdded(ILayer layer)
          Notifies listeners that a layer has been added to the map.
 void fireLayerDeleted(ILayer layer)
          Notifies listeners that a layer has been removed from the map.
 void fireLayerReordered(ILayer layer, int toIndex)
          Notifies listeners that a layer has been reordered the map.
 void forceGraphicSelectionDraw()
          Call before using Output to cause graphic selection to be drawn.
 ILayer getActiveGraphicsLayer()
          The active graphics layer.
 IActiveView getActiveView()
          The Map object.
 IAnnotateMap getAnnotationEngine()
          The annotation (label) engine the map will use.
 IBarrierCollection getBarriers(IEnvelope pExtent)
          The list of barriers and their weight for labeling.
 IBarrierCollection getBarriers2(IEnvelope pExtent, ITrackCancel pTrackCancel)
          The list of barriers and their weight for labeling.
 IBarrierCollection getBarriers3(IEnvelope pExtent, double scale, ITrackCancel pTrackCancel)
          The list of barriers and their weight for labeling.
 IGraphicsLayer getBasicGraphicsLayer()
          The basic graphics layer.
 IEnumSpatialBookmark getBookmarks()
          The bookmarks.
 IEnvelope getCacheExtent()
          Current cache extent.
 void getClassID(GUID[] pClassID)
          getClassID
 IBorder getClipBorder()
          An optional border drawn around ClipGeometry.
 IGeometry getClipGeometry()
          A shape that layers in the map are clipped to.
static String getClsid()
          getClsid.
 void getContextMenu(double x, double y, IUID[] clsidMenu)
          Called when a context menu should be displayed at the given xy location.
 String getCopyrightText()
          Copyright information associated with the map.
 String getDescription()
          Description of the map.
 int getDistanceUnits()
          The distance units for the map.
 ILayer getDomainDefiningLayer()
          Returns the layer which defines map domain, 0 if domain is the union of all layers.
 IElement getDominantElement()
          Dominant element.
 int getDynamicDrawRate()
          The Dynamic draw rate in milliseconds.
 Object getElementOrder(IEnumElement elements)
          Private order object.
 ISelection getElementSelection()
          Object to use for element selection.
 int getElementSelectionCount()
          The number of selected elements.
 tagRECT getExportFrame()
          The device rectangle to export.
 IEnvelope getExtent()
          The visible extent rectangle.
 IExtentStack getExtentStack()
          The extent stack.
 ISelection getFeatureSelection()
          The feature selection for the map.
 IMap getFocusMap()
          The map that tools and controls act on.
 IEnvelope getFullExtent()
          The full extent rectangle.
 IGeoTransformationOperationSet getGeographicTransformations()
          On-the-fly geographic transformations.
 IGraphicsContainer getGraphicsContainer()
          The active graphics container.
 ILayer getLayer(int index)
          The layer at the given index.
 int getLayerCount()
          Number of layers in the map.
 IEnumLayer getLayers(IUID uid, boolean recursive)
          The layers in the map of the type specified in the uid.
 String getLevelMasking(ILayer maskedLayer, ILayer maskingLayer)
          The symbol levels for which the masking applies.
 IMap getMap()
          The Map object.
 double getMapScale()
          The scale of the map as a representative fraction.
 IMapSurround getMapSurround(int index)
          The map surround at the given index.
 int getMapSurroundCount()
          Number of map surrounds associated with the map.
 int getMapUnits()
          The units for the map.
 ISet getMaskedLayers()
          The set of layers that are being masked.
 ISet getMaskingLayers(ILayer layer)
          The masks for a layer.
 double getMaxScale()
          The maximum scale for the cache to be built.
 String getName()
          Name of the map.
 IBackground getNonFrameBackground()
          Specify the background to use when drawing to destinations other than a frame.
 int getOutputBandSize()
          Size allocated for each band when banding output.
 IOverposterProperties getOverposterProperties()
          The overposter the map will use for labeling.
 IPageLayout getPageLayout()
          The PageLayout object.
 void getPageSize(double[] widthInches, double[] heightInches)
          Gets the page size for the map.
 double getReferenceScale()
          The reference scale of the map as a representative fraction.
 IEnumRelationshipClass getRelationshipClasses()
          The memory relationship classes.
 short getScreenCacheID(int phase, Object data)
          The screen cache ID that is used to draw the specified phase.
 IScreenDisplay getScreenDisplay()
          The screen display used by the view.
 IEnumElement getSelectedElements()
          The selected elements.
 ISelection getSelection()
          The selection.
 IEnvelope getSelectionBounds(IDisplay display)
          The bounds of the selection.
 int getSelectionCount()
          Number of selected features.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          The spatial reference of the map.
 IStandaloneTable getStandaloneTable(int index)
          The standalone table at the given index.
 int getStandaloneTableCount()
          Number of standalone tables.
 ITable getTable(int index)
          The table at the given index.
 int getTableCount()
          Number of tables.
 String getTipText(double x, double y)
          The tip text to display at the given location.
 int getTopFilterIndex()
          Phase index that supplements TopFilterPhase.
 int getTopFilterPhase()
          The highest phase in the drawing order that uses a display filter.
 int hashCode()
          the hashcode for this object
 IMap hitTestMap(IPoint location)
          Returns any maps present in the view at the given location.
 void insertLayer(ILayer pLayer, boolean autoArrange, int position)
          Inserts a layer at the given position.
 void insertLayerInGroup(IGroupLayer pGroup, ILayer pLayer, boolean autoArrange, int position)
          Inserts a layer at a given index of the map's group layer.
 void insertLayers(IEnumLayer pLayers, boolean autoArrange, int position)
          Inserts layers at the given position.
 void insertLayersInGroup(IGroupLayer pGroup, IEnumLayer pLayer, boolean autoArrange, int position)
          Inserts layers at a given index of the map's group layer.
 boolean isActive()
          Indicates if view is active or not.
 boolean isAutoCacheActive()
          Indicates whether the autocache is active.
 boolean isCacheable()
          Indicates whether a map cache can be created.
 boolean isConserveMemory()
          Indicates whether to be conservative when allocating resources.
 boolean isDelayBackgroundDraw()
          Indicates if the background should draw immediately.
 void isDirty()
          isDirty
 boolean isDrawing()
          Indicates whether the view is currently drawing or not.
 boolean isDynamicMapEnabled()
          Indicates if dynamic map is turned on or off.
 boolean isExpanded()
          Indicates if the Map is expanded.
 boolean isExternalDrawing(int phase)
          Indicates if external clients are drawing in response to the specified phase.
 boolean isFramed()
          Indicates if map is drawn in a frame rather than on the whole window.
 boolean isLayerVisible(ILayer layer)
          Check if layer is visible.
 boolean isMapActivated()
          Indicates if the focus map is activated.
 boolean isProgressiveDrawing()
          Indicates whether the view should progressively update the window during drawing.
 boolean isScaleLimit()
          Indicates whether there is a scale limit.
 boolean isShowRulers()
          Indicates if rulers are visible.
 boolean isShowScrollBars()
          Indicates if scrollbars are visible.
 boolean isShowSelection()
          Indicates if selection is visible.
 boolean isSimulateLayerEffectsInLegends()
          Indicates whether to simulate transparency and other effects in legends.
 boolean isSpatialReferenceLocked()
          Indicates whether the spatial reference is prevented from being changed.
 boolean isUseMasking()
          Indicates whether to use masking.
 boolean isUsesFilter()
          Indicates if the current object draws using a filter.
 boolean isUsesPageCoordinates()
          Indicates whether view uses page coordinates.
 boolean isUseSubPixelRendering()
          Indicates whether the dynamic map is rendered in Sub Pixels or Full Pixels (snap to the nearest discrete pixel).
 boolean isUseSymbolLevels()
          Indicates if the Map draws using symbol levels.
 boolean isVerboseEvents()
          Indicates whether to expand or limit the number of events that are fired.
 void load(IStream pstm)
          load
 IEnumElement locateElements(IPoint point, double tolerance)
          Returns the elements at the given coordinate.
 IEnumElement locateElementsByEnvelope(IEnvelope envelope)
          Returns the elements inside the given envelope.
 void moveBookmarkTo(ISpatialBookmark bookmark, int index)
          Moves a bookmark in the collection.
 void moveElementFromGroup(IGroupElement group, IElement element, int zorder)
          Move the element from the group to the container.
 void moveElementToGroup(IElement element, IGroupElement group)
          Move the element from the container to the group.
 void moveLayer(ILayer layer, int toIndex)
          Moves a layer to another position.
 void moveLayerEx(IGroupLayer pFromGroup, IGroupLayer pToGroup, ILayer pLayer, int newPosition)
          Moves the layer with in the map.
 IElement next()
          Returns the next graphic in the container.
 void onMessage(int msg, int wParam, int lParam)
          Call from your application's message loop to enable automatic resizing and keyboard accelerators.
 void output(int hDC, int dpi, tagRECT pixelBounds, IEnvelope visibleBounds, ITrackCancel trackCancel)
          Renders the view to the specified DC.
 void partialRefresh(int phase, Object data, IEnvelope envelope)
          Draws the specified view phase.
 void partialRefreshShape(int phase, Object data, IGeometry geometry, double symbolSizePoints)
          Refreshes the specified shape on the specified view phase.
 void printerChanged(IPrinter printer)
          Called by application when printer changes.
 void putElementOrder(Object order)
          Private order object.
 void readExternal(ObjectInput in)
           
 void recalcFullExtent()
          Forces the full extent to be recalculated.
 void refresh()
          Causes the entire view to draw.
 void refreshAutoCache()
          Refresh the autocache.
 void refreshCaches()
          Reallocate the display caches.
 void refreshItem(Object data)
          Use to redraw a specific item and the content above it.
 void removeAllBookmarks()
          Removes all bookmarks.
 void removeAllStandaloneTables()
          Removes all standalone tables from the collection.
 void removeAllTables()
          Removes all tables from the collection.
 void removeBookmark(ISpatialBookmark bookmark)
          Removes a bookmark from the collection.
 void removeIActiveViewEventsListener(IActiveViewEvents theListener)
          removeIActiveViewEventsListener.
 void removeIDynamicMapEventsListener(IDynamicMapEvents theListener)
          removeIDynamicMapEventsListener.
 void removeIMapEventsListener(IMapEvents theListener)
          removeIMapEventsListener.
 void removeStandaloneTable(IStandaloneTable table)
          Removes the standalone table from the collection.
 void removeTable(ITable table)
          Removes a table from the collection.
 void reset()
          Reset internal cursor so that Next returns the first element.
 void resolutionUpdated(ITransformEventsResolutionUpdatedEvent theEvent)
          Notifies clients when the resolution is updated.
 void rotationUpdated(ITransformEventsRotationUpdatedEvent theEvent)
          Notifies clients when the rotation angle is updated.
 void save(IStream pstm, int fClearDirty)
          save
 void selectAllElements()
          Selects all elements.
 void selectByShape(IGeometry shape, ISelectionEnvironment env, boolean justOne)
          Selects features in the map given a shape and a selection environment (optional).
 IElement selectedElement(int index)
          Returns the nth selected element.
 void selectElement(IElement element)
          Selects the specified element.
 void selectElements(IEnumElement elements)
          Selects the specified elements.
 void selectFeature(ILayer layer, IFeature feature)
          Selects a feature.
 void selectionChanged(ISelectionEventsSelectionChangedEvent theEvent)
          Call this function to fire the selection changed event.
 ISelectionTracker selectionTracker(int index)
          Returns the tracker for the nth selected element.
 void sendBackward(IEnumElement elements)
          Move the specified elements one step closer to the bottom of the stack of elements.
 void sendToBack(IEnumElement elements)
          Make the specified elements draw behind all other elements.
 void setActiveGraphicsLayerByRef(ILayer graphicsLayer)
          The active graphics layer.
 void setAnnotationEngineByRef(IAnnotateMap annotateMap)
          The annotation (label) engine the map will use.
 void setAreaOfInterest(IEnvelope rhs1)
          Area of interest for the map.
 void setAutoCacheActive(boolean active)
          Indicates whether the autocache is active.
 void setClipBorder(IBorder border)
          An optional border drawn around ClipGeometry.
 void setClipBounds(IGeometry rhs1)
          Specify a boundary to clip to.
 void setClipGeometry(IGeometry clipGeometry)
          A shape that layers in the map are clipped to.
 void setConserveMemory(boolean flag)
          Indicates whether to be conservative when allocating resources.
 void setCopyrightText(String copyright)
          Copyright information associated with the map.
 void setDelayBackgroundDraw(boolean flag)
          Indicates if the background should draw immediately.
 void setDescription(String descr)
          Description of the map.
 void setDistanceUnits(int unitsCode)
          The distance units for the map.
 void setDomainDefiningLayer(ILayer layer)
          Returns the layer which defines map domain, 0 if domain is the union of all layers.
 void setDominantElementByRef(IElement dominantItem)
          Dominant element.
 void setDynamicDrawRate(int dynamicDrawRateMS)
          The Dynamic draw rate in milliseconds.
 void setDynamicMapEnabled(boolean isEnable)
          Indicates if dynamic map is turned on or off.
 void setElementSelectionByRef(ISelection selectionObject)
          Object to use for element selection.
 void setExpanded(boolean expanded)
          Indicates if the Map is expanded.
 void setExtent(IEnvelope extent)
          The visible extent rectangle.
 void setExternalDrawing(int phase, boolean externalDrawing)
          Indicates if external clients are drawing in response to the specified phase.
 void setFeatureSelectionByRef(ISelection selection)
          The feature selection for the map.
 void setFocusMapByRef(IMap activeMap)
          The map that tools and controls act on.
 void setFullExtent(IEnvelope extent)
          The full extent rectangle.
 void setIsFramed(boolean flag)
          Indicates if map is drawn in a frame rather than on the whole window.
 void setIsMapActivated(boolean isMapActivated)
          Indicates if the focus map is activated.
 void setLevelMasking(ILayer maskedLayer, ILayer maskingLayer, String pLevels)
          The symbol levels for which the masking applies.
 void setMapScale(double scaleRF)
          The scale of the map as a representative fraction.
 void setMapUnits(int unitsCode)
          The units for the map.
 void setMaskingLayers(ILayer layer, ISet maskingLayers)
          The masks for a layer.
 void setMaxScale(double pMaxScale)
          The maximum scale for the cache to be built.
 void setName(String name)
          Name of the map.
 void setNonFrameBackgroundByRef(IBackground rhs1)
          The background to use when drawing to destinations other than a frame.
 void setOutputBandSize(int kilobytes)
          Size allocated for each band when banding output.
 void setOverposterPropertiesByRef(IOverposterProperties overposterProperties)
          The overposter the map will use for labeling.
 void setPageSize(double widthInches, double heightInches)
          Sets the page size for the map (optional).
 void setProgressiveDrawing(boolean flag)
          Indicates whether the view should progressively update the window during drawing.
 void setReferenceScale(double scaleRF)
          The reference scale of the map as a representative fraction.
 void setScaleLimit(boolean limited)
          Indicates whether there is a scale limit.
 void setSelectionByRef(ISelection selection)
          The selection.
 void setShowRulers(boolean showRulers)
          Indicates if rulers are visible.
 void setShowScrollBars(boolean showScrollBars)
          Indicates if scrollbars are visible.
 void setShowSelection(boolean showRulers)
          Indicates if selection is visible.
 void setSimulateLayerEffectsInLegends(boolean flag)
          Indicates whether to simulate transparency and other effects in legends.
 void setSpatialReferenceByRef(ISpatialReference spatialRef)
          The spatial reference of the map.
 void setSpatialReferenceLocked(boolean locked)
          Indicates whether the spatial reference is prevented from being changed.
 void setTopFilterIndex(int phaseIndex)
          Phase index that supplements TopFilterPhase.
 void setTopFilterPhase(int phase)
          The highest phase in the drawing order that uses a display filter.
 void setUseMasking(boolean flag)
          Indicates whether to use masking.
 void setUseSubPixelRendering(boolean useSubPixelRendering)
          Indicates whether the dynamic map is rendered in Sub Pixels or Full Pixels (snap to the nearest discrete pixel).
 void setUseSymbolLevels(boolean flag)
          Indicates if the Map draws using symbol levels.
 void setVerboseEvents(boolean verboseEvents)
          Indicates whether to expand or limit the number of events that are fired.
 void sortBookmarks(boolean ascending)
          Adds a bookmark to the collection.
 void suppressForegroundDraw()
          Call before using Output to prevent AfterDraw(esriViewForeground) from being fired.
 void unitsUpdated(ITransformEventsUnitsUpdatedEvent theEvent)
          Notifies clients when the units are updated.
 void unselectAllElements()
          Unselects all elements.
 void unselectElement(IElement element)
          Unselects the specified element.
 void unselectElements(IEnumElement elements)
          Unselects the specified elements.
 void updateElement(IElement element)
          The graphic element's properties have changed.
 void visibleBoundsUpdated(ITransformEventsVisibleBoundsUpdatedEvent theEvent)
          Notifies clients when the visible bounds is updated.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

Map

public Map()
    throws IOException,
           UnknownHostException
Constructs a Map using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

Map

public Map(Object obj)
    throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Map theMap = (Map) obj;

Construct a Map using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to Map.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

addIActiveViewEventsListener

public void addIActiveViewEventsListener(IActiveViewEvents theListener)
                                  throws IOException
addIActiveViewEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.carto.IActiveViewEvents interface.
Throws:
IOException - If there are communications problems.

removeIActiveViewEventsListener

public void removeIActiveViewEventsListener(IActiveViewEvents theListener)
                                     throws IOException
removeIActiveViewEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.carto.IActiveViewEvents interface.
Throws:
IOException - If there are communications problems.

addIMapEventsListener

public void addIMapEventsListener(IMapEvents theListener)
                           throws IOException
addIMapEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.carto.IMapEvents interface.
Throws:
IOException - If there are communications problems.

removeIMapEventsListener

public void removeIMapEventsListener(IMapEvents theListener)
                              throws IOException
removeIMapEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.carto.IMapEvents interface.
Throws:
IOException - If there are communications problems.

addIDynamicMapEventsListener

public void addIDynamicMapEventsListener(IDynamicMapEvents theListener)
                                  throws IOException
addIDynamicMapEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.display.IDynamicMapEvents interface.
Throws:
IOException - If there are communications problems.

removeIDynamicMapEventsListener

public void removeIDynamicMapEventsListener(IDynamicMapEvents theListener)
                                     throws IOException
removeIDynamicMapEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.display.IDynamicMapEvents interface.
Throws:
IOException - If there are communications problems.

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the map.

Remarks

Each map has a name controlled by this property. The default name of the first map is 'Layers' and new maps get the name 'New Data Frame', 'New Data Frame 2' and so on. The name of each map appears in the Display and Source content views in the table of contents.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface IBasicMap
Specified by:
getName in interface IBasicMap2
Specified by:
getName in interface IMap
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String name)
             throws IOException,
                    AutomationException
Name of the map.

Remarks

Each map has a name controlled by this property. The default name of the first map is 'Layers' and new maps get the name 'New Data Frame', 'New Data Frame 2' and so on. The name of each map appears in the Display and Source content views in the table of contents.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setName in interface IBasicMap
Specified by:
setName in interface IBasicMap2
Specified by:
setName in interface IMap
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription()
                      throws IOException,
                             AutomationException
Description of the map.

Remarks

Each map has a description controlled by this property. Maps do not have a description by default.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDescription in interface IBasicMap
Specified by:
getDescription in interface IBasicMap2
Specified by:
getDescription in interface IMap
Returns:
The descr
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDescription

public void setDescription(String descr)
                    throws IOException,
                           AutomationException
Description of the map.

Remarks

Each map has a description controlled by this property. Maps do not have a description by default.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDescription in interface IBasicMap
Specified by:
setDescription in interface IBasicMap2
Specified by:
setDescription in interface IMap
Parameters:
descr - The descr (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAreaOfInterest

public void setAreaOfInterest(IEnvelope rhs1)
                       throws IOException,
                              AutomationException
Area of interest for the map.

Remarks

The AreaOfInterest is used as the "custom full extent" by the map. The map's full extent will return this value if it is set.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAreaOfInterest in interface IBasicMap
Specified by:
setAreaOfInterest in interface IBasicMap2
Specified by:
setAreaOfInterest in interface IMap
Parameters:
rhs1 - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ILayer.getAreaOfInterest()

getLayerCount

public int getLayerCount()
                  throws IOException,
                         AutomationException
Number of layers in the map.

Description


Remarks

LayerCount returns the number of layers in the map that implement IDataLayer.

LayerCount does not include the basic graphics layer (CompositeGraphicLayer) that each map contains nor does it return the graphic layers that can be created into this composite layer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLayerCount in interface IBasicMap
Specified by:
getLayerCount in interface IBasicMap2
Specified by:
getLayerCount in interface IMap
Specified by:
getLayerCount in interface IMapLayers
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDataLayer

getLayer

public ILayer getLayer(int index)
                throws IOException,
                       AutomationException
The layer at the given index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getLayer in interface IBasicMap
Specified by:
getLayer in interface IBasicMap2
Specified by:
getLayer in interface IMap
Specified by:
getLayer in interface IMapLayers
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.ILayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLayers

public IEnumLayer getLayers(IUID uid,
                            boolean recursive)
                     throws IOException,
                            AutomationException
The layers in the map of the type specified in the uid. If recursive is true it will return layers in group layers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getLayers in interface IBasicMap
Specified by:
getLayers in interface IBasicMap2
Specified by:
getLayers in interface IMap
Specified by:
getLayers in interface IMapLayers
Parameters:
uid - A reference to a com.esri.arcgis.system.IUID (in, optional, pass 0 if not required)
recursive - The recursive (in, optional, pass true if not required)
Returns:
A reference to a com.esri.arcgis.carto.IEnumLayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMapSurroundCount

public int getMapSurroundCount()
                        throws IOException,
                               AutomationException
Number of map surrounds associated with the map.

Remarks

MapSurround objects include Legends, North Arrows, Scale Bars, and Scale Text. Use this property in conjunction with the MapSurround property to loop through all of the MapSurround objects associated with a Map.
See AddMapSurround for information on adding new MapSurrounds to a Map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMapSurroundCount in interface IMap
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.getMapSurround(int), IMap.addMapSurround(com.esri.arcgis.carto.IMapSurround)

getMapSurround

public IMapSurround getMapSurround(int index)
                            throws IOException,
                                   AutomationException
The map surround at the given index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getMapSurround in interface IMap
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.IMapSurround
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMapUnits

public int getMapUnits()
                throws IOException,
                       AutomationException
The units for the map.

Remarks

MapUnits is the predefined enumeration (esriUnits) data type currently associated with the Map object.
AddLayer automatically attempts to set the Map's SpatialReference property if a coordinate system has not yet been defined for the map. When the SpatialReference property is set, the Map's MapUnits and DistanceUnits properties are set as well.
When multiple layers are added simultaneously with AddLayers, the first spatial reference found is used.
If no layers have a spatial reference, AddLayer checks the extent of the first layer (ILayer::AreaOfInterest) and if it has coordinates that look like geographic coordinates (XMin >= -180 and XMax <= 180 and YMin >= -90 and YMax <= 90), ArcMap assumes the data is in decimal degrees and sets the MapUnits to esriDecimalDegrees and DistanceUnits to esriMiles.
If no spatial reference is found and the coordinates do not look like geographic coordinates, ArcMap sets no spatial reference and sets the MapUnits to esriMeters and the DistanceUnits to esriMeters.

Example:

 

MapControl m = new MapControl();   
IMap pMap;   
ISpatialReference pSpatialReference;   
IProjectedCoordinateSystem pProjectedCoordinateSystem;   
ILinearUnit pLinearUnit;   
ISpatialReferenceInfo pSpatialReferenceInfo;

pMap = m.getMap();   
System.out.println(pMap.getMapUnits());
pSpatialReference = pMap.getSpatialReference();   
pProjectedCoordinateSystem =        
  new IProjectedCoordinateSystemProxy(pSpatialReference);
pLinearUnit = pProjectedCoordinateSystem.getCoordinateUnit();
pSpatialReferenceInfo =
  new ISpatialReferenceInfoProxy(pLinearUnit);   
System.out.println(pSpatialReferenceInfo.getFactoryCode());

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMapUnits in interface IMap
Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMapUnits

public void setMapUnits(int unitsCode)
                 throws IOException,
                        AutomationException
The units for the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMapUnits in interface IMap
Parameters:
unitsCode - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDistanceUnits

public int getDistanceUnits()
                     throws IOException,
                            AutomationException
The distance units for the map.

Description

The units - for example, feet, miles, meters, kilometers - ArcMap uses to report measurements, dimensions of shapes, and distance tolerances and offsets.

Remarks

DistanceUnits is the predefined enumeration (esriUnits) data type currently associated with the Map object.
AddLayer automatically attempts to set the Map's SpatialReference property if a coordinate system has not yet been defined for the map. When the SpatialReference property is set, the Map's MapUnits and DistanceUnits properties are set as well.
When multiple layers are added simultaneously with AddLayers, the first spatial reference found is used.
If no layers have a spatial reference, AddLayer checks the extent of the first layer (ILayer::AreaOfInterest) and if it has coordinates that look like geographic coordinates (XMin >= -180 and XMax <= 180 and YMin >= -90 and YMax <= 90), ArcMap assumes the data is in decimal degrees and sets the MapUnits to esriDecimalDegrees and DistanceUnits to esriMiles.
If no spatial reference is found and the coordinates do not look like geographic coordinates, ArcMap sets no spatial reference and sets the MapUnits to esriMeters and the DistanceUnits to esriMeters.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDistanceUnits in interface IMap
Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDistanceUnits

public void setDistanceUnits(int unitsCode)
                      throws IOException,
                             AutomationException
The distance units for the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDistanceUnits in interface IMap
Parameters:
unitsCode - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the map.

Remarks

When the SpatialReference property is set, the Map's MapUnits and DistanceUnits properties are set and the extent of the screen display is recalculated.
AddLayer automatically attempts to set the Map's SpatialReference property if a coordinate system has not yet been defined for the map. When multiple layers are added simultaneously, AddLayer uses the first spatial reference it finds.
If no layers have a spatial reference, AddLayer checks the extent of the first layer (ILayer::AreaOfInterest) and if it has coordinates that look like geographic coordinates (XMin >= -180 and XMax <= 180 and YMin >= -90 and YMax <= 90), ArcMap assumes the data is in decimal degrees and sets the MapUnits to esriDecimalDegrees and DistanceUnits to esriMiles.
If no spatial reference is found and the coordinates do not look like geographic coordinates, ArcMap sets no spatial reference and sets the MapUnits to esriMeters and the DistanceUnits to esriMeters as well.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IBasicMap
Specified by:
getSpatialReference in interface IBasicMap2
Specified by:
getSpatialReference in interface IMap
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference spatialRef)
                              throws IOException,
                                     AutomationException
The spatial reference of the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSpatialReferenceByRef in interface IBasicMap
Specified by:
setSpatialReferenceByRef in interface IBasicMap2
Specified by:
setSpatialReferenceByRef in interface IMap
Parameters:
spatialRef - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMapScale

public double getMapScale()
                   throws IOException,
                          AutomationException
The scale of the map as a representative fraction.

Remarks

Scale is the relationship between the dimensions of features on a map and the geographic objects they represent on the earth, commonly expressed as a fraction or a ratio. A map scale of 1/100,000 or 1:100,000 means that one unit of measure on the map equals 100,000 of the same units on the earth.
The MapScale property is really a shortcut to IDisplayTransformation::ScaleRatio.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMapScale in interface IMap
Returns:
The scaleRF
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMapScale

public void setMapScale(double scaleRF)
                 throws IOException,
                        AutomationException
The scale of the map as a representative fraction.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMapScale in interface IMap
Parameters:
scaleRF - The scaleRF (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReferenceScale

public double getReferenceScale()
                         throws IOException,
                                AutomationException
The reference scale of the map as a representative fraction.

Remarks

All symbols are drawn relative to the scale value set in this property. By default this value is zero. Symbol size is true at the reference scale. When the reference scale is 0, symbols are always drawn at the same size regardless of the map scale (ScaleRatio). For example, if you set your labels to display with 10 pt font, they will appear as 10 pt text at any map scale. When the reference scale is greater than 0, symbols are drawn at a size relative to the map scale. For example, if you set your labels to display with 10 pt font and have a reference scale of 10,000, the labels will appear as 10 pt only at that map scale; as you zoom in, the size of all symbols increases because the size of the symbols is based on the smaller scale.

The ReferenceScale property is a shortcut to IDisplayTransformation::ReferenceScale.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getReferenceScale in interface IMap
Returns:
The scaleRF
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setReferenceScale

public void setReferenceScale(double scaleRF)
                       throws IOException,
                              AutomationException
The reference scale of the map as a representative fraction.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setReferenceScale in interface IMap
Parameters:
scaleRF - The scaleRF (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFramed

public boolean isFramed()
                 throws IOException,
                        AutomationException
Indicates if map is drawn in a frame rather than on the whole window.

Remarks

When creating a custom application, if you want the display to take over the window it's drawing in, set IsFramed to FALSE. This will add scrollbars (IScreenDisplay::UseScrollBars = TRUE) as necessary and keeps the device frame in sync with the window extent. Setting IsFramed to TRUE means that the display is drawing on some extent within the window. In this case, it won't show scrollbars and it won't automatically update the device frame.

For example, in the ArcMap application, in layout view where each Map resides inside a separate MapFrame, each Map has it IsFramed property set to TRUE. In data view, the opposite is true, a Map's display fits the entire window; in this view, all Map's have IsFramed set to FALSE, not just the focus map.

The IsFramed property also sets the IsFirstCacheTransparent property. When a Map is drawing in layout view, the PageLayout object has its ScreenDisplay and each Map has its own separate ScreenDisplay. This means that the layout has it's display cache(s) and the maps have their own. If the bottom cache of each map was opaque, you wouldn't be able to see through a map onto layout elements below it. Setting IsFirstCacheTransparent on the maps in layout view lets you see through the maps.

This property is really a shortcut to IScreenDisplay::IsFramed.

If you are working with Map's inside of ArcMap these settings should not be touched. Only use this property when building a low level appliation that uses a display to draw on a frame on a window.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isFramed in interface IMap
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.carto.IScreenDisplay

setIsFramed

public void setIsFramed(boolean flag)
                 throws IOException,
                        AutomationException
Indicates if map is drawn in a frame rather than on the whole window.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsFramed in interface IMap
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipGeometry

public IGeometry getClipGeometry()
                          throws IOException,
                                 AutomationException
A shape that layers in the map are clipped to.

Remarks

Use the ClipGeometry property to shape the area the Map is drawn in. For example, if you had a map of the United States that contained many layers, you could set the Map's ClipGeometry equal to the geometry of a particular state thereby telling the map to only draw the map data falling within the particular state's area.

The scripts below demonstrate this.

In the ArcMap user interface, the same functionality is available on the map's data frame properties page. Right-click on a map in the table of contents and select Properties. Select the Data Frame tab and look at 'Clip to Shape'. Under 'Specify a Shape', select 'Outline of Data Graphics'. You can also specify a 'Custom Extent' or use the 'Outline of Features'.

The ClipBorder property puts a border around the cut out.

By default there is no clip geometry and no clip border.

Example:

 

MapControl pMapControl = new MapControl();   
IMap pMap;   
IViewManager pViewManager;   
IEnumElement pEnumElement;   
IElement pElement;   
IActiveView pActiveView;   
 IBorder pBorder;  
 
pMap = pMapControl.getMap();
pViewManager = new IViewManagerProxy(pMap);
pEnumElement = new IEnumElementProxy( pViewManager.getElementSelection());
pEnumElement.reset();

pElement = pEnumElement.next();
if(pElement != null){
if(pElement.getGeometry().getGeometryType() == esriGeometryType.esriGeometryPolygon){
pBorder = new SymbolBorder();
pMap.setClipGeometry(pElement.getGeometry());
pMap.setClipBorder(pBorder);
pMapControl.getActiveView().refresh();
}
}

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipGeometry in interface IMap
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.getClipBorder()

setClipGeometry

public void setClipGeometry(IGeometry clipGeometry)
                     throws IOException,
                            AutomationException
A shape that layers in the map are clipped to.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setClipGeometry in interface IMap
Parameters:
clipGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addLayer

public void addLayer(ILayer layer)
              throws IOException,
                     AutomationException
Adds a layer to the map.

Remarks

The AddLayer method adds a layer to the Map. Use the LayerCount property to get the total number of layers in the map.
AddLayer automatically attempts to set the Map's SpatialReference property if a coordinate system has not yet been defined for the map. When the SpatialReference property is set, the Map's MapUnits and DistanceUnits properties are additionally set. AddLayer also sets the spatial reference of the layer (ILayer::SpatialReference ).
If no layers have a spatial reference, AddLayer checks the extent of the first layer (ILayer::AreaOfInterest) and if it has coordinates that look like geographic coordinates (XMin >= -180 and XMax <= 180 and YMin >= -90 and YMax <= 90), ArcMap assumes the data is in decimal degrees and sets the MapUnits to esriDecimalDegrees and DistanceUnits to esriMiles.
If no spatial reference is found and the coordinates do not look like geographic coordinates, ArcMap sets no spatial reference and sets the MapUnits to esriMeters and the DistanceUnits to esriMeters.
The full extent is recalculated each time a layer added.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addLayer in interface IBasicMap
Specified by:
addLayer in interface IBasicMap2
Specified by:
addLayer in interface IMap
Specified by:
addLayer in interface IMapLayers
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.addLayers(com.esri.arcgis.carto.IEnumLayer, boolean), IMap.getLayerCount()

addLayers

public void addLayers(IEnumLayer layers,
                      boolean autoArrange)
               throws IOException,
                      AutomationException
Adds multiple layers to the map, arranging them nicely if specified.

Remarks

The AddLayers method adds all of the layers in the IEnumLayer enumeration to the Map. Use the LayerCount property to get the total number of layers in the map. The autoArrange parameter controls the ordering of the layers. If autoArrange is set to TRUE, the layers are added in the proper position as by their weight specified via ILayerPosition::LayerWeight. By default, this means that the layers are sorted by layer type - Annotation layers on top, followed by Point geometry layers, Polyline geometry layers, and at the bottom Polygon geometry layers. If autoArrange is true for this method, the position passed in is ignored as the position is determined by the auto arrange logic.
AddLayers automatically attempts to set the Map's SpatialReference property if a coordinate system has not yet been defined for the map. When the SpatialReference property is set, the Map's MapUnits and DistanceUnits properties are additionally set. AddLayers also sets the spatial reference for each layer (ILayer::SpatialReference).
If no layers have a spatial reference, AddLayer checks the extent of the first layer (ILayer::AreaOfInterest) and if it has coordinates that look like geographic coordinates (XMin >= -180 and XMax <= 180 and YMin >= -90 and YMax <= 90), ArcMap assumes the data is in decimal degrees and sets the MapUnits to esriDecimalDegrees and DistanceUnits to esriMiles.
The full extent is recalculated each time a layer added.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addLayers in interface IBasicMap
Specified by:
addLayers in interface IBasicMap2
Specified by:
addLayers in interface IMap
Specified by:
addLayers in interface IMapLayers
Parameters:
layers - A reference to a com.esri.arcgis.carto.IEnumLayer (in)
autoArrange - The autoArrange (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.addLayer(com.esri.arcgis.carto.ILayer), IMap.getLayerCount()

deleteLayer

public void deleteLayer(ILayer layer)
                 throws IOException,
                        AutomationException
Deletes a layer from the map.

Remarks

DeleteLayer will automatically recalculate the Map's extent after the successful deletion of a layer.
Tips:
If a layer is selected in the TOC window (IMxDocument::SelectedLayer), you can pass this to DeleteLayer.
When deleting a layer that references a feature class, like a FeatureLayer, executing IDataLayer2::Disconnect will ensure that references to the feature class are cleared.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteLayer in interface IBasicMap
Specified by:
deleteLayer in interface IBasicMap2
Specified by:
deleteLayer in interface IMap
Specified by:
deleteLayer in interface IMapLayers
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveLayer

public void moveLayer(ILayer layer,
                      int toIndex)
               throws IOException,
                      AutomationException
Moves a layer to another position.

Remarks

The MoveLayer method moves the layer to the position specified by the 0-based index. If the index is invalid, the layer is moved to the bottom.
MoveLayer automatically updates the contents view (TOC) but it does not update the map.
 

Example:

MapControl pMapControl = new MapControl();     
IMap pMap = pMapControl.getMap();     
ILayer pLayer = pMap.getLayer(0);     
pLayer = pMap.moveLayer(pLayer, pMap.getLayerCount() - 1);

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
moveLayer in interface IMap
Specified by:
moveLayer in interface IMapLayers
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
toIndex - The toIndex (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearLayers

public void clearLayers()
                 throws IOException,
                        AutomationException
Removes all layers from the map.

Remarks

ClearLayers removes all layers types from the Map. ClearLayers does not change or reset the Map's spatail reference however. In addition, ClearLayers does not affect any graphics stored in the Map's BasicGaphicsLayer - it's not a true Layer. ClearLayers does not update the contents view (TOC) or the display.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
clearLayers in interface IBasicMap
Specified by:
clearLayers in interface IBasicMap2
Specified by:
clearLayers in interface IMap
Specified by:
clearLayers in interface IMapLayers
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createMapSurround

public IMapSurround createMapSurround(IUID clsid,
                                      IMapSurround optionalStyle)
                               throws IOException,
                                      AutomationException
Create and initialize a map surround. An optional style from the style gallery may be specified.

Remarks

The CreateMapSurround method creates a new MapSurround object based on the required GUID parameter. The optional style parameter specifies a partially initialized surround that comes from the style gallery. For example, there are an entire collection of north arrows in the style gallery, use this parameter to specify the desired one.
CreateMapSurround automatically calls AddMapSurround to associate the new surround with the Map.
In the ArcMap application, the model for MapSurround objects is that each surround is contained by a separate MapSurroundFrame which has a relation to a MapFrame which holds the Map. The CreateMapSurround method does not follow this model and is exposed for developers who want to create surrounds in a different window. To keep with ArcMap's surround model, use IMapFrame::CreateSurroundFrame. This method automatically creates a new MapSurroundFrame object with a MapSurround and associates them with the Map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
createMapSurround in interface IMap
Parameters:
clsid - A reference to a com.esri.arcgis.system.IUID (in)
optionalStyle - A reference to a com.esri.arcgis.carto.IMapSurround (in)
Returns:
A reference to a com.esri.arcgis.carto.IMapSurround
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.createMapSurround(com.esri.arcgis.system.IUID, com.esri.arcgis.carto.IMapSurround), IMap.deleteMapSurround(com.esri.arcgis.carto.IMapSurround), IMap.addMapSurround(com.esri.arcgis.carto.IMapSurround), IMapFrame.createSurroundFrame(com.esri.arcgis.system.IUID, com.esri.arcgis.carto.IMapSurround), IMap.clearMapSurrounds()

addMapSurround

public void addMapSurround(IMapSurround mapSurround)
                    throws IOException,
                           AutomationException
Adds a map surround to the map.

Remarks

Use this method to associate a new MapSurround object with the Map. Both IMap::CreateMapSurround and IMapFrame::CreateSurroundFrame automatically call this method to associate the surrounds they create with the Map.
Use IMap::MapSurroundCount to get the total number of surrounds associated with the Map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addMapSurround in interface IMap
Parameters:
mapSurround - A reference to a com.esri.arcgis.carto.IMapSurround (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.createMapSurround(com.esri.arcgis.system.IUID, com.esri.arcgis.carto.IMapSurround), IMap.deleteMapSurround(com.esri.arcgis.carto.IMapSurround), IMap.addMapSurround(com.esri.arcgis.carto.IMapSurround), IMap.clearMapSurrounds()

deleteMapSurround

public void deleteMapSurround(IMapSurround mapSurround)
                       throws IOException,
                              AutomationException
Deletes a map surround from the map.

Remarks

DeleteMapSurround method removes the MapSurround object from the Map and decrements the MapSurroundCount by 1.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteMapSurround in interface IMap
Parameters:
mapSurround - A reference to a com.esri.arcgis.carto.IMapSurround (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.createMapSurround(com.esri.arcgis.system.IUID, com.esri.arcgis.carto.IMapSurround), IMap.deleteMapSurround(com.esri.arcgis.carto.IMapSurround), IMap.addMapSurround(com.esri.arcgis.carto.IMapSurround), IMap.clearMapSurrounds()

clearMapSurrounds

public void clearMapSurrounds()
                       throws IOException,
                              AutomationException
Removes all map surrounds from the map.

Remarks

The ClearMapSurrounds removes all of the surrounds associated with a Map thus resetting the MapSurroundCount to 0.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
clearMapSurrounds in interface IMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.createMapSurround(com.esri.arcgis.system.IUID, com.esri.arcgis.carto.IMapSurround), IMap.deleteMapSurround(com.esri.arcgis.carto.IMapSurround), IMap.addMapSurround(com.esri.arcgis.carto.IMapSurround), IMap.clearMapSurrounds()

computeDistance

public double computeDistance(IPoint p1,
                              IPoint p2)
                       throws IOException,
                              AutomationException
Computes the distance between two points on the map and returns the result.

Description

ComputeDistance computes and returns the distance between two input points. This method calculates the distance based on the current map units (IMap::MapUnits) and reports the distance using the current distance units (IMap::DistanceUnits).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
computeDistance in interface IMap
Parameters:
p1 - A reference to a com.esri.arcgis.geometry.IPoint (in)
p2 - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
The distance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.getDistanceUnits(), IMap.getMapUnits()

getBasicGraphicsLayer

public IGraphicsLayer getBasicGraphicsLayer()
                                     throws IOException,
                                            AutomationException
The basic graphics layer.

Remarks

Three different objects contain and persist graphic elements: a Map, the PageLayout, and an FDOGraphicsLayer. Both the Map and the PageLayout store (persist) their graphics in the document; FDOGraphicsLayers store their graphics in a database (an FDOGraphics layer is a feature annotation layer).
In ArcMap, graphic elements are kept in graphics layers (GraphicLayers objects). To manage all of the graphic layers, the Map has the CompositeGraphicsLayer object. The CompositeGraphicsLayer object has a collection of GraphicsLayers and it implements the ICompositeGraphicsLayer interface which provides methods for creating, finding, and deleting GraphicsLayers. New graphics layers are sometimes called 'Groups' or 'Annotation Target Layers'.
Not only does the CompositeGraphicsLayer object have a collection of graphics layers, but it is itself a graphics layer - like the FDOGraphicsLayer object, it inherits from the GraphicsLayer object. This means that the CompositeGraphicsLayer object has its own graphics container where graphic elements can be stored. The graphics layer it provides is called the 'Basic Graphics Layer'. This Basic Graphics Layer is the default graphics layer and it cannot be deleted.
The CompositeGraphicsLayer objects implements the ICompositeLayer interface, among others, which has the properties Count and Layer . The Count does not include the Basic Graphics Layer and the Layer property cannot be used to access the Basic Graphics Layer. This is because the Basic Graphics Layer is essentially the CompositeGraphicsLayer object whereas the Groups are separate GraphicsLayer objects. The BasicGraphicsLayer property always returns a reference to the Basic Graphics Layer (the CompositeGraphicsLayer object) and from here you can query interface for the other interfaces implemented by the object including those on the GraphicsLayer object.
The Map's ActiveGraphicsLayer property provides a reference to the graphics layer currently active (sometimes this is called the 'Active Annotation Target Layer). By default the basic graphics layer is the active layer but any Group or FDOGraphicsLayer can also be set as the active layer.
Neither the CompositeGraphicsLayer nor any of its GraphicsLayers (Groups) are real layers like a FeatureLayer, a GroupLayer, or an FDOGraphicsLayer. None of these layers can be accessed with the Map's Layers property and they are not included in the Map's LayerCount.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBasicGraphicsLayer in interface IBasicMap
Specified by:
getBasicGraphicsLayer in interface IBasicMap2
Specified by:
getBasicGraphicsLayer in interface IMap
Returns:
A reference to a com.esri.arcgis.carto.IGraphicsLayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.getActiveGraphicsLayer()

getActiveGraphicsLayer

public ILayer getActiveGraphicsLayer()
                              throws IOException,
                                     AutomationException
The active graphics layer. If no graphic layers exist a basic memory graphics layer will be created.

Remarks

Three different objects contain and persist graphic elements: a Map, the PageLayout, and an FDOGraphicsLayer. Both the Map and the PageLayout store (persist) their graphics in the document; FDOGraphicsLayers store their graphics in a database (an FDOGraphics layer is a feature annotation layer).
In ArcMap, graphic elements are kept in graphics layers (GraphicLayers objects). To manage all of the graphic layers, the Map has the CompositeGraphicsLayer object. The CompositeGraphicsLayer object has a collection of GraphicsLayers and it implements the ICompositeGraphicsLayer interface which provides methods for creating, finding, and deleting GraphicsLayers. New graphics layers are sometimes called 'Groups' or 'Annotation Target Layers'.
Not only does the CompositeGraphicsLayer object have a collection of graphics layers, but it is itself a graphics layer - like the FDOGraphicsLayer object, it inherits from the GraphicsLayer object. This means that the CompositeGraphicsLayer object has its own graphics container where graphic elements can be stored. The graphics layer it provides is called the 'Basic Graphics Layer'. This Basic Graphics Layer is the default graphics layer and it cannot be deleted.
The CompositeGraphicsLayer objects implements the ICompositeLayer interface, among others, which has the properties Count and Layer . The Count does not include the Basic Graphics Layer and the Layer property cannot be used to access the basic graphics layer. This is because the Basic Graphics Layer is essentially the CompositeGraphicsLayer object whereas the Groups are separate GraphicsLayer objects. The BasicGraphicsLayer property always returns a reference to the Basic Graphics Layer (the CompositeGraphicsLayer object) and from here you can query interface for the other interfaces implemented by the object including those on the GraphicsLayer object.
The Map's ActiveGraphicsLayer property provides a reference to the graphics layer currently active (sometimes this is called the 'Active Annotation Target Layer). By default the basic graphics layer is the active layer but any Group or FDOGraphicsLayer is also settable as the active layer.
The CompositeGraphicsLayer and none of its GraphicsLayers (Groups) are real layers like a FeatureLayer, a GroupLayer, or an FDOGraphicsLayer. None of these layers can be accessed with the Map's Layers property and are not included in the LayerCount.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getActiveGraphicsLayer in interface IBasicMap
Specified by:
getActiveGraphicsLayer in interface IBasicMap2
Specified by:
getActiveGraphicsLayer in interface IMap
Returns:
A reference to a com.esri.arcgis.carto.ILayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setActiveGraphicsLayerByRef

public void setActiveGraphicsLayerByRef(ILayer graphicsLayer)
                                 throws IOException,
                                        AutomationException
The active graphics layer. If no graphic layers exist a basic memory graphics layer will be created.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setActiveGraphicsLayerByRef in interface IBasicMap
Specified by:
setActiveGraphicsLayerByRef in interface IBasicMap2
Specified by:
setActiveGraphicsLayerByRef in interface IMap
Parameters:
graphicsLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipBorder

public IBorder getClipBorder()
                      throws IOException,
                             AutomationException
An optional border drawn around ClipGeometry.

Remarks

If a ClipGeometry has been set, you have the option of drawing a border around the clipped map. Use the ClipBorder propety to specify the type of border drawn.

Use the ClipGeometry property to shape the area the Map is drawn in. For example, if you had a map of the United States that contained many layers, you could set the Map's ClipGeometry equal to the geometry of a particular state thereby telling the map to only draw the map data falling within the particular state's area.

By default there is no clip geometry or clip border.

Example:

MapControl pMapControl = new MapControl();   
IMap pMap;   
IViewManager pViewManager;   
IEnumElement pEnumElement;   
IElement pElement;   
IActiveView pActiveView;   
IBorder pBorder;


pMap = pMapControl.getMap();   
pViewManager = new IViewManagerProxy(pMap);   
pEnumElement = new IEnumElementProxy( pViewManager.getElementSelection());   
pEnumElement.reset();


pElement = pEnumElement.next();   
if(pElement != null){     
  if(pElement.getGeometry().getGeometryType() == 
     esriGeometryType.esriGeometryPolygon){       
    pBorder = new SymbolBorder();       
    pMap.setClipGeometry(pElement.getGeometry());       
    pMap.setClipBorder(pBorder);       
    pMapControl.getActiveView().refresh();     
  }   
}

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipBorder in interface IMap
Returns:
A reference to a com.esri.arcgis.carto.IBorder
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IMap.getClipGeometry()

setClipBorder

public void setClipBorder(IBorder border)
                   throws IOException,
                          AutomationException
An optional border drawn around ClipGeometry.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setClipBorder in interface IMap
Parameters:
border - A reference to a com.esri.arcgis.carto.IBorder (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectFeature

public void selectFeature(ILayer layer,
                          IFeature feature)
                   throws IOException,
                          AutomationException
Selects a feature.

Remarks

Adds the feature to the feature layer's selection set. For example, the Editor's 'Create New Feature' task uses this method to select the new feature it has just created. This method also calls IActiveViewEvents::SelectionChanged to notify all listeners of the event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectFeature in interface IMap
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelectionCount

public int getSelectionCount()
                      throws IOException,
                             AutomationException
Number of selected features.

Remarks

Returns the total number of selected features in the Map. The selection total is calculated from all layers that implement IFeatureLayer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSelectionCount in interface IBasicMap
Specified by:
getSelectionCount in interface IBasicMap2
Specified by:
getSelectionCount in interface IMap
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearSelection

public void clearSelection()
                    throws IOException,
                           AutomationException
Clears the map selection.

Remarks

Unselects all features in all layers that implement IFeatureLayer and calls IActiveViewEvents::SelectionChanged to notify listeners the selection has changed. If no features are selected initially, the event is not fired.
This method does not unselect graphic elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
clearSelection in interface IBasicMap
Specified by:
clearSelection in interface IBasicMap2
Specified by:
clearSelection in interface IMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureSelection

public ISelection getFeatureSelection()
                               throws IOException,
                                      AutomationException
The feature selection for the map.

Remarks

ArcMap has two different selections, a feature selection and an element selection. Two different objects represent these selections and both implement the ISelection interface. The feature selection object additionally implements IEnumFeature and the element selection object IEnumElement. The ISelection interface is used for clipboard type operations and the IEnum interfaces are used to loop through the items in the collection.

When you ask for the FeatureSelection from IMap you are returned an ISelection but you can perform a query interface for IEnumFeature and usually do so. However, if you get the selection via IActiveView::Selection, the selection can either be an element selection or a feature selection depending on which one is currently active - only one of the selections can be active at a time. Use FeatureSelection to ensure a reference to the correct selection.

IEnumFeature works on all of the FeatureLayers as a whole. Each FeatureLayer has a ISelectionSet and IEnumFeature steps through all of these as though there was only one. Because IEnumFeature works with all the FeatureLayers, you cannot use it to loop through the features belonging to just one FeatureLayer.

Note, only the shape field is guaranteed with the selection. This is the default and exists for performance reasons. The IMap::FeatureSelection property is typically used to draw the map selection, not access feature attributes. This is particularly noticeable with shapefiles and coverage but also in geodatabases if the selection is large enough. Use IEnumFeatureSetup::AllFields to set a flag indicating all fields be returned with the selection. If you want to loop through the map selection to perform an operation, it is typically best to access each layer's selection rather than the entire map's selection. See the example for a sample of each.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureSelection in interface IBasicMap
Specified by:
getFeatureSelection in interface IBasicMap2
Specified by:
getFeatureSelection in interface IMap
Returns:
A reference to a com.esri.arcgis.carto.ISelection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IViewManager.setElementSelectionByRef(com.esri.arcgis.carto.ISelection), IActiveView.getSelection()

setFeatureSelectionByRef

public void setFeatureSelectionByRef(ISelection selection)
                              throws IOException,
                                     AutomationException
The feature selection for the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setFeatureSelectionByRef in interface IBasicMap
Specified by:
setFeatureSelectionByRef in interface IBasicMap2
Specified by:
setFeatureSelectionByRef in interface IMap
Parameters:
selection - A reference to a com.esri.arcgis.carto.ISelection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectByShape

public void selectByShape(IGeometry shape,
                          ISelectionEnvironment env,
                          boolean justOne)
                   throws IOException,
                          AutomationException
Selects features in the map given a shape and a selection environment (optional).

Remarks

SelectByShape searches for features in all layers of type IFeatureLayer, that are intersected by the input shape. Each layer is searched only if its IFeatureLayer::Selectable property is set to TRUE.

The ISelectionEnvironment parameter determines the selection outcome. For example, a new selection may be created or the features found may be added to the existing feature selection. See the esriSelectionOption enumeration for the different selection options. The application's selection environment is available via IMxApplication::SelectionEnvironment.

The justOne parameter tells the search to stop once it has found one feature.

After the search is complete, IActiveViewEvents::SelectionChanged is called to notify all listeners the selection has changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectByShape in interface IBasicMap
Specified by:
selectByShape in interface IBasicMap2
Specified by:
selectByShape in interface IMap
Parameters:
shape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
env - A reference to a com.esri.arcgis.carto.ISelectionEnvironment (in)
justOne - The justOne (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delayEvents

public void delayEvents(boolean delay)
                 throws IOException,
                        AutomationException
Used to batch operations together to minimize notifications.

Remarks

All calls made to IActiveViewEvents::SelectionChanged are ignored when DelayEvents is set to TRUE. The event is automatically fired when DelayEvents is set back to FALSE to ensure that clients ultimately receive the event.

This method is typically used when changing the Map's selection. Without DelayEvents set to TRUE, the SelectionChanged event would fire each time a feature is added or removed; instead, DelayEvents is used so that only one notification is sent when the entire selection operation is complete.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
delayEvents in interface IMap
Parameters:
delay - The delay (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPageSize

public void setPageSize(double widthInches,
                        double heightInches)
                 throws IOException,
                        AutomationException
Sets the page size for the map (optional).

Remarks

SetPageSize sets the width and height of the Map in inches.
In the ArcMap application, the Map width and height are set to 0 inches by 0 inches in data view; in layout view, the Map's size is by default set to fit within the page size (IPage::QuerySize).
Developers creating their own application may use SetPageSize to set the size of the Map in their own page space.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPageSize in interface IMap
Parameters:
widthInches - The widthInches (in)
heightInches - The heightInches (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPageSize

public void getPageSize(double[] widthInches,
                        double[] heightInches)
                 throws IOException,
                        AutomationException
Gets the page size for the map.

Remarks

GetPageSize returns the width and height of the Map in inches.
In the ArcMap application, the Map width and height are set to 0 inches by 0 inches in data view; in layout view, the Map's size is by default set to fit within the page size (IPage::QuerySize).
Developers creating their own application may use SetPageSize to set the size of the Map in their own page space.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPageSize in interface IMap
Parameters:
widthInches - The widthInches (out: use single element array)
heightInches - The heightInches (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBarriers

public IBarrierCollection getBarriers(IEnvelope pExtent)
                               throws IOException,
                                      AutomationException
The list of barriers and their weight for labeling.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getBarriers in interface IMap
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Returns:
A reference to a com.esri.arcgis.carto.IBarrierCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseSymbolLevels

public void setUseSymbolLevels(boolean flag)
                        throws IOException,
                               AutomationException
Indicates if the Map draws using symbol levels.

Remarks

UseSymbolLevels flag indicates if the order of symbols is to be drawn by their assign level value. When the flag is TRUE, symbols with lower level values get to be drawn first on the screen.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUseSymbolLevels in interface IMap
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseSymbolLevels

public boolean isUseSymbolLevels()
                          throws IOException,
                                 AutomationException
Indicates if the Map draws using symbol levels.

Description

Determines whether Symbol Level Drawing is enabled for a Map.

Remarks

Symbol Level Drawing is useful when creating large scale maps with intersecting and overlapping line features. For example, on a large scale reference map with intersecting highways and streets, Symbol Level Drawing helps you create high-quality representations of the street and highway street intersections.

To set up Symbol Level Drawing:

  1. Turn on Symbol Level Drawing using either for your layer using ISymbolLevels::UseSymbolLevels, or for your entire map using IMap::UseSymbolLevels.
  2. For each layer that you want to set up symbol levels for, access that layer's renderer using IGeoFeatureLayer::Renderer.
  3. Access your layer's symbol(s) through the renderer.
  4. Using IMapLevel, set symbol levels on your layer's symbols. Symbols with MapLevel = 0 draw first, then symbols with MapLevel = 1, continuing until the highest MapLevel is reached. If two symbols have the same MapLevel, then the features drawn with these symbols are drawn in the normal layer order. A MapLevel of -1 for a multilayer symbol (MultiLayerMarkerSymbol, MultiLayerLineSymbol, MultiLayerFillSymbol) indicates that each of the symbol's individual layers are drawn with their individual MapLevel .

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUseSymbolLevels in interface IMap
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExpanded

public void setExpanded(boolean expanded)
                 throws IOException,
                        AutomationException
Indicates if the Map is expanded.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExpanded in interface IMap
Parameters:
expanded - The expanded (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isExpanded

public boolean isExpanded()
                   throws IOException,
                          AutomationException
Indicates if the Map is expanded.

Remarks

Use this property to expand or collapse the Map in the table of contents. By default a Map is expanded.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isExpanded in interface IMap
Returns:
The expanded
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAnnotationEngineByRef

public void setAnnotationEngineByRef(IAnnotateMap annotateMap)
                              throws IOException,
                                     AutomationException
The annotation (label) engine the map will use.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAnnotationEngineByRef in interface IMap
Parameters:
annotateMap - A reference to a com.esri.arcgis.carto.IAnnotateMap (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAnnotationEngine

public IAnnotateMap getAnnotationEngine()
                                 throws IOException,
                                        AutomationException
The annotation (label) engine the map will use.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAnnotationEngine in interface IMap
Returns:
A reference to a com.esri.arcgis.carto.IAnnotateMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

recalcFullExtent

public void recalcFullExtent()
                      throws IOException,
                             AutomationException
Forces the full extent to be recalculated.

Remarks

Recalculates the Map's full extent so that all of the Map's feature layers, fall within its bounds.

AddLayer, AddLayers, and DeleteLayer all call RecalcFullExtent automatically.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
recalcFullExtent in interface IMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delayDrawing

public void delayDrawing(boolean delay)
                  throws IOException,
                         AutomationException
Suspends drawing.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
delayDrawing in interface IMap
Parameters:
delay - The delay (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSpatialReferenceLocked

public void setSpatialReferenceLocked(boolean locked)
                               throws IOException,
                                      AutomationException
Indicates whether the spatial reference is prevented from being changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSpatialReferenceLocked in interface IMap
Parameters:
locked - The locked (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSpatialReferenceLocked

public boolean isSpatialReferenceLocked()
                                 throws IOException,
                                        AutomationException
Indicates whether the spatial reference is prevented from being changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSpatialReferenceLocked in interface IMap
Returns:
The locked
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCopyrightText

public String getCopyrightText()
                        throws IOException,
                               AutomationException
Copyright information associated with the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getCopyrightText in interface IBasicMap2
Returns:
The copyright
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCopyrightText

public void setCopyrightText(String copyright)
                      throws IOException,
                             AutomationException
Copyright information associated with the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setCopyrightText in interface IBasicMap2
Parameters:
copyright - The copyright (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBarriers2

public IBarrierCollection getBarriers2(IEnvelope pExtent,
                                       ITrackCancel pTrackCancel)
                                throws IOException,
                                       AutomationException
The list of barriers and their weight for labeling.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getBarriers2 in interface IMapBarriers
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Returns:
A reference to a com.esri.arcgis.carto.IBarrierCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBarriers3

public IBarrierCollection getBarriers3(IEnvelope pExtent,
                                       double scale,
                                       ITrackCancel pTrackCancel)
                                throws IOException,
                                       AutomationException
The list of barriers and their weight for labeling.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getBarriers3 in interface IMapBarriers2
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
scale - The scale (in)
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Returns:
A reference to a com.esri.arcgis.carto.IBarrierCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFullExtent

public IEnvelope getFullExtent()
                        throws IOException,
                               AutomationException
The full extent rectangle.

Remarks

The full extent of the view. In ArcMap's data view, the full extent is the full extent of all layers and it is automatically calculated whenever the spatial reference changes and when layers are added or removed with AddLayer, AddLayers, or DeleteLayer. In layout view, the full extent is the page size expanded some and it is automatically set whenever the page size changes.

This property is a shortcut to the bounds of the ActiveView's ScreenDisplay (accessed via IDisplayTransformation::Bounds) .

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFullExtent in interface IActiveView
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplayTransformation.getBounds(), IDisplayTransformation, IActiveView.getFullExtent()

setFullExtent

public void setFullExtent(IEnvelope extent)
                   throws IOException,
                          AutomationException
The full extent rectangle.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setFullExtent in interface IActiveView
Parameters:
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The visible extent rectangle.

Remarks

The Extent property holds the visible area of the view. The Extent is automatically captured whenever the view's transformation changes. For example, when the active view is a Map, the Extent is modified whenever the spatial reference changes. Also, the Extent is set the first time a layer is added to a Map. In layout view, the Extent is initially set to the page size. In both layout view and data view, zooming in our out changes the Extent.

The Extent is always adjusted to fit the device frame and it is persisted in the map document.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IActiveView
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplayTransformation.getVisibleBounds(), ITin.getExtent(), IActiveView.getExtent(), IFeatureClassManage.updateExtent(), IFeatureClassManage, IDisplayTransformation.getFittedBounds()

setExtent

public void setExtent(IEnvelope extent)
               throws IOException,
                      AutomationException
The visible extent rectangle.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExtent in interface IActiveView
Parameters:
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getScreenDisplay

public IScreenDisplay getScreenDisplay()
                                throws IOException,
                                       AutomationException
The screen display used by the view.

Remarks

Each view has a ScreenDisplay object which controls drawing in the application's window. Use this property to get a reference to the ScreenDisplay object associated with the view you are currently working with. For example, to draw a polygon in data view, you must get an IActiveView reference on the focus Map object and then get a reference to its ScreenDisplay object via this property. If you are in data view and you mistakenly get an IActiveView reference on the PageLayout object, you will not see the polygon as you are drawing in the wrong view.

Each ScreenDisplay object has a DisplayTransformation object which is accessible via IDisplay::DisplayTransformation (ScreenDisplay inherits from Display ). Each DisplayTransformation related to a Map, holds onto the map's spatial reference (IDisplayTransformation::SpatialReference ) and has useful methods for converting between device units and map units. The PageLayout's DisplayTransformation does not have a spatial reference, the property returns nothing, and in this case its members map between device units and page units.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getScreenDisplay in interface IActiveView
Returns:
A reference to a com.esri.arcgis.display.IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGraphicsContainer

public IGraphicsContainer getGraphicsContainer()
                                        throws IOException,
                                               AutomationException
The active graphics container.

Remarks

Both the Map and PageLayout objects are graphics containers - both implement the IGraphicsContainer interface.

The Map has a Basics Graphics Layer and this property returns a reference to that object (see CompositeGraphicsLayer and IMap::BasicGraphicsLayer). When working with a Map object, you can also perform a query interface from any of the interfaces the Map implements, IMap for example, to IGraphicsContainer. The QI also takes you to the CompositeGraphicsLayer object. These are both possible because the Map aggregates the Basic Graphics Layer.

The PageLayout object works differently. The PageLayout does not have a Basics Graphics Layer; instead, the PageLayout object is its own graphics container having its own implementation of IGraphicsContainer. A QI from IPageLayout to IGraphicsContainer connects you with the graphics container associated strictly with the PageLayout. However, this property, IActiveView::GraphicsContainer, on the PageLayout object has two possible outcomes. If a Map is activated (IActiveView::IsMapActivated), the property will return a reference to the focus Map's active graphics layer (IMap::ActiveGraphicsLayer ). If no Map is activated, the property will return a reference to the PageLayout's graphics container - the same as the QI case.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getGraphicsContainer in interface IActiveView
Returns:
A reference to a com.esri.arcgis.carto.IGraphicsContainer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFocusMap

public IMap getFocusMap()
                 throws IOException,
                        AutomationException
The map that tools and controls act on.

Remarks

A user's map may comprise one or more Map objects. Each Map object typically holds layers of data as well as several MapSurround objects such as a Legend. This property returns an IMap reference to the Map object that currently has focus. In ArcMap, the focus map is the one visible in data view and the one selected in layout view.

Changing the focus map fires the IActiveViewEvents::FocusMapChanged event. In ArcMap, the focus map is automatically set to any new Map added.

IMxDocument::FocusMap is a read-only short cut to this property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFocusMap in interface IActiveView
Returns:
A reference to a com.esri.arcgis.carto.IMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.carto.IMxDocument

setFocusMapByRef

public void setFocusMapByRef(IMap activeMap)
                      throws IOException,
                             AutomationException
The map that tools and controls act on.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setFocusMapByRef in interface IActiveView
Parameters:
activeMap - A reference to a com.esri.arcgis.carto.IMap (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isMapActivated

public boolean isMapActivated()
                       throws IOException,
                              AutomationException
Indicates if the focus map is activated.

Remarks

In ArcMap's layout view, when the focus map is activated by double-clicking on it, new graphic elements are added to the Map's active graphics layer. When the focus map is not activated, the default, graphic elements are added to the PageLayout object. Both the Map and PageLayout objects are graphics containers, setting this property to TRUE diverts graphics from the PageLayout to the focus Map.

A Map can be activated in both layout and data views.

When this property is set to TRUE, IActiveView::PartialRefresh is called for the esriViewGraphicSelection draw phase.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isMapActivated in interface IActiveView
Returns:
The isMapActivated
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.carto.IMxDocument

setIsMapActivated

public void setIsMapActivated(boolean isMapActivated)
                       throws IOException,
                              AutomationException
Indicates if the focus map is activated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsMapActivated in interface IActiveView
Parameters:
isMapActivated - The isMapActivated (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelection

public ISelection getSelection()
                        throws IOException,
                               AutomationException
The selection.

Remarks

ArcMap has two different selection types, a feature selection and an element selection. Two different objects represent these selections and both implement the ISelection interface. The feature selection object additionally implements IEnumFeature and the element selection object IEnumElement. The ISelection interface is used for clipboard type operations and the IEnum interfaces are used to loop through the items in the collection.

Each active view object, the PageLayout and all Maps, have their own selection objects. Actually, the PageLayout only has an element selection but each Map has a unique feature and element selection. When working with selections make sure you have the correct active view object.

For a Map, only one of the selections can be active at a time. As mentioned above, this interface provides an ISelection reference to either an element or feature selection depending on which one is currently active. To simplify the matter, IMap has a FeatureSelection property which always returns an ISelection on the feature selection, from which you can obtain an IEnumFeature reference. Just make sure you have the correct Map, usually the FocusMap. To get a Map's element selection, use IViewManager::ElementSelection.

Note: The features returned as part of IEnumFeature are in the spatial reference of the map, so they have the coordinate system and the resolution (1/precision) of the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSelection in interface IActiveView
Returns:
A reference to a com.esri.arcgis.carto.ISelection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IActiveView.getSelection(), IGraphicsContainerSelect, IMap.getFeatureSelection(), IEnumElement

setSelectionByRef

public void setSelectionByRef(ISelection selection)
                       throws IOException,
                              AutomationException
The selection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSelectionByRef in interface IActiveView
Parameters:
selection - A reference to a com.esri.arcgis.carto.ISelection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTipText

public String getTipText(double x,
                         double y)
                  throws IOException,
                         AutomationException
The tip text to display at the given location.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getTipText in interface IActiveView
Parameters:
x - The x (in)
y - The y (in)
Returns:
The tipText
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExportFrame

public tagRECT getExportFrame()
                       throws IOException,
                              AutomationException
The device rectangle to export.

Remarks

Returns the area of the view to be exported.

For Maps, this is always the area corresponding to the constrained bounds (IDisplayTransformation::ContstrainedBounds), i.e., the visible bounds intersected with the full bounds. The coordinates are automatically converted, using IDisplayTransformation::TransformRect, from world units to device units.

For PageLayout, this is always the height and width of the page in device units (pixels) when the layout is zoomed to 100%. Because these values are independent of the layout's current zoom level and always correspond to the page instead of the full client area of the application, they are ideal for use when exporting a map to a graphics file. Assign the values of the ExportFrame property to the Export object's PixelBounds property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExportFrame in interface IActiveView
Returns:
A Structure: com.esri.arcgis.display.tagRECT
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowScrollBars

public boolean isShowScrollBars()
                         throws IOException,
                                AutomationException
Indicates if scrollbars are visible.

Remarks

IActiveView::ShowScrollBars is a short cut to IScreenDisplay::UseScrollBars. Changes to this property are not reflected until the active view changes. For example, when in layout view in ArcMap, programmatically changing the PageLayout to not show its scrollbar will have no effect until the next time the active view is set to the PageLayout - calling IActiveView::Refresh has no effect.

ArcMap uses this property to hide Map's scroll bars when in layout view. Programmatically trying to display a Map's scroll bar in layout view will have no effect, for Maps this setting is only honored in data view and again it requires an active view change before the setting is reflected in the applications window.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShowScrollBars in interface IActiveView
Returns:
The showScrollBars
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowScrollBars

public void setShowScrollBars(boolean showScrollBars)
                       throws IOException,
                              AutomationException
Indicates if scrollbars are visible.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShowScrollBars in interface IActiveView
Parameters:
showScrollBars - The showScrollBars (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowRulers

public boolean isShowRulers()
                     throws IOException,
                            AutomationException
Indicates if rulers are visible.

Remarks

This property is a boolean flag that applications use to determine whether or not to draw rulers.

This property cannot be set for Maps, they always have rulers turned off.

The PageLayout is the only active view with rulers; an active view change is required before the setting is reflected in the applications window.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShowRulers in interface IActiveView
Returns:
The showRulers
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowRulers

public void setShowRulers(boolean showRulers)
                   throws IOException,
                          AutomationException
Indicates if rulers are visible.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShowRulers in interface IActiveView
Parameters:
showRulers - The showRulers (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowSelection

public boolean isShowSelection()
                        throws IOException,
                               AutomationException
Indicates if selection is visible.

Description

This property is primarily used to hide a Map's element selection in layout view unless a Map has been activated.

When in layout view, the PageLayout always has its ShowSelection set to true, setting it to false has no effect. Similarly, when in data view, the focus Map always has its ShowSelection set to true and this cannot be overridden.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShowSelection in interface IActiveView
Returns:
The showRulers
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowSelection

public void setShowSelection(boolean showRulers)
                      throws IOException,
                             AutomationException
Indicates if selection is visible.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShowSelection in interface IActiveView
Parameters:
showRulers - The showRulers (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtentStack

public IExtentStack getExtentStack()
                            throws IOException,
                                   AutomationException
The extent stack.

Remarks

Returns a reference to the active view's extent stack. Each active view has an extent stack which remembers previous extents so that users can 'go back' and then 'go forward' to previous extents.

Example:


Map map = new Map();
IExtentStack pExtentStack = map.getActiveView().getExtentStack();
if(pExtentStack.canUndo()){
pExtentStack.undo();
}            

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtentStack in interface IActiveView
Returns:
A reference to a com.esri.arcgis.carto.IExtentStack
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getScreenCacheID

public short getScreenCacheID(int phase,
                              Object data)
                       throws IOException,
                              AutomationException
The screen cache ID that is used to draw the specified phase.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getScreenCacheID in interface IActiveView
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
data - A reference to another Object (IUnknown) (in)
Returns:
The cacheID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hitTestMap

public IMap hitTestMap(IPoint location)
                throws IOException,
                       AutomationException
Returns any maps present in the view at the given location. Return value may be zero if there are no maps or the coordinate is not over a map.

Remarks

Use this method on a PageLayout to find the nearest Map based on a point location. For example, when ArcMap's identify tool is used in Layout view, the tool first finds the Map clicked on before it searches for features in the Map.

When using this method on a PageLayout, for the Location parameter, set up the Point in page coordinates. To convert from device coordinates to page coordinates:

  1. Get the ScreenDisplay from the PageLayout using IActiveView::ScreenDisplay.
  2. Get the DisplayTransformation from the ScreenDisplay using IScreenDisplay::DisplayTransformation.
  3. Convert device coordinates (for example from a mouse move) to page coordinates using IDisplayTransformation::ToMapPoint.

Use this method on a Map to obtain a reference to it through IMap.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
hitTestMap in interface IActiveView
Parameters:
location - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.carto.IMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isActive

public boolean isActive()
                 throws IOException,
                        AutomationException
Indicates if view is active or not.

Remarks

In layout view, all of the Maps and the PageLayout are active. In data view, only the focus map is active.

The PageLayout object uses this property when adding Elements; if the PageLayout is active, new elements are activated (IElement::Activate).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isActive in interface IActiveView
Returns:
The isActive
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

activate

public void activate(int hWnd)
              throws IOException,
                     AutomationException
Gives this view control of the specified window.

Remarks

Called to establish the current object as the active view. For example, view commands deactivate (IActiveView::Deactivate) the current view (IMxDocument::ActiveView) before calling Activate on their own associated view.

When working with the IActiveView interface on a MapDocument object, you should always first call IActiveView::Activate() in order to properly initialize the display of the PageLayout or Map object. The MxDocument and MapServer objects and the MapControl and PageLayoutControl all initialize display objects automatically after opening an MXD, but MapDocument does not do this, so you should call Activate() before working with any other members of IActiveView. If your application has a user interface, you should call Activate() with the hWnd of the application's client area. If your application runs in the background and has no windows, you can always get a valid hWnd from the GDI GetDesktopWindow() function, part of the Win32 API.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
activate in interface IActiveView
Parameters:
hWnd - The hWnd (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deactivate

public void deactivate()
                throws IOException,
                       AutomationException
Another view takes over the associated window.

Remarks

Called to deactivate the current active view. For example, view commands deactivate (IActiveView::Deactivate) the current view (IMxDocument::ActiveView) before calling Activate on their own associated view.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deactivate in interface IActiveView
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(int hDC,
                 ITrackCancel trackCancel)
          throws IOException,
                 AutomationException
Draws the view to the specified device context.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IActiveView
Parameters:
hDC - The hDC (A COM typedef) (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

output

public void output(int hDC,
                   int dpi,
                   tagRECT pixelBounds,
                   IEnvelope visibleBounds,
                   ITrackCancel trackCancel)
            throws IOException,
                   AutomationException
Renders the view to the specified DC.

Description

This method is used to draw to a non-app window hDC (see Windows GDI for more info). The ArcMap printing and exporting commands use this method. When drawing to an hWnd, normally IActiveView::Draw is used instead of this method because it handles caching and scrollbars.

Remarks

Parameter use is as follows:

hDC - Output device.
dpi - Dots per inch (resolution). If Null is passed then this defaults to the resolution of the hDC. If that cannot be sampled, then this defaults to the window resolution.
pixelBounds - Device rectangle specified in pixels.
VisibleBounds - Zoom extent. If Null is passed then this defaults to the current visible extent.

All other display attributes are copied from the ActiveView.

If you want to draw the data frame to a 640x480 bitmap for example, specify the following parameter values:

dpi - 0
pixel bounds - { 0, 0, 640, 480 }
visible bounds - 0

If you want to create a bitmap that will print 8.5 x 11 on a 300 DPI printer, specify the following parameter values:

dpi - 300
pixel bounds - { 0, 0, 8.5 * dpi, 11 * dpi }
visible bounds - 0

If you want to zoom to a certain location and draw it on a 300x300 bitmap, specify the following parameter values:

dpi - 0
pixel bounds - { 0, 0, 300, 300 }
visible bounds - { -45.0, 44.0, -44.0, 45.0 }

The value of IDisplayTransformation::Resolution does not affect the results of this method.

The value of IOutputRasterSettings::ResampleRatio does affect the results of the this method. When rasters are drawn, they get resampled as specified in this attribute.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
output in interface IActiveView
Parameters:
hDC - The hDC (A COM typedef) (in)
dpi - The dpi (in)
pixelBounds - A Structure: com.esri.arcgis.display.tagRECT (in)
visibleBounds - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refresh

public void refresh()
             throws IOException,
                    AutomationException
Causes the entire view to draw.

Remarks

IActiveView::Refresh invalidates all of the caches. This is a very inefficient operation; typically data from just one source has to be reread from the database and the rest can be drawn from cache. IActiveView::PartialRefresh uses it's knowledge of the cache layout to invalidate as little as possible and should be used whenever possible.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
refresh in interface IActiveView
Specified by:
refresh in interface IViewRefresh
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriViewDrawPhase, IGlobeLayerProperties2, IActiveView.partialRefresh(int, java.lang.Object, com.esri.arcgis.geometry.IEnvelope), IScreenDisplay.invalidate(com.esri.arcgis.geometry.IEnvelope, boolean, short), IActiveView.getScreenCacheID(int, java.lang.Object), IActiveView.refresh()

partialRefresh

public void partialRefresh(int phase,
                           Object data,
                           IEnvelope envelope)
                    throws IOException,
                           AutomationException
Draws the specified view phase. Use an envelope of zero to draw the entire phase.

Remarks

The main application window is controlled by a view (IActiveView). ArcMap currently has two view objects: Map (data view) and PageLayout (layout view). Each view has a ScreenDisplay object which performs drawing operations. The ScreenDisplay object also makes it possible for clients to create any number of caches. A cache is an off screen bitmap representing the application's window. Instead of drawing directly to the screen, graphics are drawn into caches, then the caches are drawn on the screen. When the application's window is obscured and requires redrawing, it is done so from the caches instead of from a database. In this way, caches improve drawing performance - bitmap rendering is faster than reading and displaying data from a database.

In general, the Map creates three caches: one for all the layers, another if there are annotation or graphics, and a third cache if there is a feature selection. A layer can create its own private cache if it sets ILayer::Cached equal to TRUE. In this case, the Map will create a separate cache for the layer and groups the layers above and below it into different caches.

IActiveView::PartialRefresh uses its knowledge of the cache layout to invalidate as little as possible. IActiveView::Refresh , on the other hand, invalidates all the caches which is very inefficient. Use PartialRefresh whenever possible.

Both PartialRefresh and Refresh call IScreenDisplay::Invalidate which sets a flag clients watch for. Clients draw a cache from scratch (the database) if its flag is set to true, and from cache if the flag is set to false.

The following table shows the phases each view supports and what they map to:

phase Map Layout
esriViewBackground Map grids Page/snap grid
esriViewGeography Layers Unused
*esriViewGeoSelection Feature selection Unused
esriViewGraphics Labels/graphics Graphics
esriViewGraphicSelection Graphic selection Element selection
esriViewForeground Unused Snap guides

To specify multiple draw phases, combine individual phases together using a bitwise OR. This is equivalent to adding together the integer enumeration values. For example, pass 6 to invalidate both the esriViewGeography (2) and esriViewGeoSelection (4) phases.

Use the data parameter to invalidate just a specific piece of data. For example, if a layer is loaded and its cache property is set to TRUE, this layer alone can be invalidated. A tracking layer is a good example of this.

The envelope parameter specifies a region to invalidate. For example, if a graphic element is added, it is usually only necessary to invalidate the immediate area surrounding the new graphic.

Both the data and envelope parameters are optional.

*When selecting features, you must call PartialRefresh twice, once before and once after the selection operation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
partialRefresh in interface IActiveView
Specified by:
partialRefresh in interface IViewRefresh
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
data - A reference to another Object (IUnknown) (in)
envelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriViewDrawPhase, IGlobeLayerProperties2, IActiveView.partialRefresh(int, java.lang.Object, com.esri.arcgis.geometry.IEnvelope), IScreenDisplay.invalidate(com.esri.arcgis.geometry.IEnvelope, boolean, short), IActiveView.getScreenCacheID(int, java.lang.Object), IActiveView.refresh()

clear

public void clear()
           throws IOException,
                  AutomationException
Empties the view contents.

Remarks

The Map object's implementation of Clear deletes all of the Layers in the Map (IMap::ClearLayers ), removes all MapSurrounds (IMap::ClearSurrounds ), removes all bookmarks (IMapBookMarks::RemoveAllBookMarks), and resets the extent stack. Clear does not refresh the active view however.

Clear on PageLayout deletes all Elements, including MapFrames which hold a Map, resets the extent stack, and a new Map is created - there must always be a focus map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
clear in interface IActiveView
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

printerChanged

public void printerChanged(IPrinter printer)
                    throws IOException,
                           AutomationException
Called by application when printer changes.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
printerChanged in interface IActiveView
Parameters:
printer - A reference to a com.esri.arcgis.output.IPrinter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

contentsChanged

public void contentsChanged()
                     throws IOException,
                            AutomationException
Called by clients when view objects are modified.

Remarks

After modifying the contents view (table of contents), use this method to fire the IActiveViewEvents::ContentsChanged event so that clients listening for this event can respond accordingly.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
contentsChanged in interface IActiveView
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IActiveViewEvents.contentsChanged(com.esri.arcgis.carto.IActiveViewEventsContentsChangedEvent)

onMessage

public void onMessage(int msg,
                      int wParam,
                      int lParam)
               throws IOException,
                      AutomationException
Call from your application's message loop to enable automatic resizing and keyboard accelerators.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
onMessage in interface IActiveView
Parameters:
msg - The msg (in)
wParam - The wParam (A COM typedef) (in)
lParam - The lParam (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getContextMenu

public void getContextMenu(double x,
                           double y,
                           IUID[] clsidMenu)
                    throws IOException,
                           AutomationException
Called when a context menu should be displayed at the given xy location. Return menu that should be displayed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getContextMenu in interface IActiveView
Parameters:
x - The x (in)
y - The y (in)
clsidMenu - A reference to a com.esri.arcgis.system.IUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setElementSelectionByRef

public void setElementSelectionByRef(ISelection selectionObject)
                              throws IOException,
                                     AutomationException
Object to use for element selection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setElementSelectionByRef in interface IViewManager
Parameters:
selectionObject - A reference to a com.esri.arcgis.carto.ISelection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IActiveView.getSelection()

getElementSelection

public ISelection getElementSelection()
                               throws IOException,
                                      AutomationException
Object to use for element selection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getElementSelection in interface IViewManager
Returns:
A reference to a com.esri.arcgis.carto.ISelection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IGraphicsContainerSelect.getSelectedElements()

setConserveMemory

public void setConserveMemory(boolean flag)
                       throws IOException,
                              AutomationException
Indicates whether to be conservative when allocating resources.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setConserveMemory in interface IViewManager
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isConserveMemory

public boolean isConserveMemory()
                         throws IOException,
                                AutomationException
Indicates whether to be conservative when allocating resources.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isConserveMemory in interface IViewManager
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTopFilterPhase

public void setTopFilterPhase(int phase)
                       throws IOException,
                              AutomationException
The highest phase in the drawing order that uses a display filter. Clients should set this when they draw in response to AfterDraw and they use a display filter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTopFilterPhase in interface IViewManager
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTopFilterPhase

public int getTopFilterPhase()
                      throws IOException,
                             AutomationException
The highest phase in the drawing order that uses a display filter. Clients should set this when they draw in response to AfterDraw and they use a display filter.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTopFilterPhase in interface IViewManager
Returns:
A com.esri.arcgis.carto.esriViewDrawPhase constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTopFilterIndex

public void setTopFilterIndex(int phaseIndex)
                       throws IOException,
                              AutomationException
Phase index that supplements TopFilterPhase. Clients should set the item index here if they draw in response to AfterDrawItem and they use a display filter. TopFilterPhase must also be specified.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTopFilterIndex in interface IViewManager
Parameters:
phaseIndex - The phaseIndex (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTopFilterIndex

public int getTopFilterIndex()
                      throws IOException,
                             AutomationException
Phase index that supplements TopFilterPhase. Clients should set the item index here if they draw in response to AfterDrawItem and they use a display filter. TopFilterPhase must also be specified.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTopFilterIndex in interface IViewManager
Returns:
The phaseIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOutputBandSize

public void setOutputBandSize(int kilobytes)
                       throws IOException,
                              AutomationException
Size allocated for each band when banding output.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setOutputBandSize in interface IViewManager
Parameters:
kilobytes - The kilobytes (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutputBandSize

public int getOutputBandSize()
                      throws IOException,
                             AutomationException
Size allocated for each band when banding output.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOutputBandSize in interface IViewManager
Returns:
The kilobytes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUsesPageCoordinates

public boolean isUsesPageCoordinates()
                              throws IOException,
                                     AutomationException
Indicates whether view uses page coordinates.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUsesPageCoordinates in interface IViewManager
Returns:
The usesPageCoordinates
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isVerboseEvents

public boolean isVerboseEvents()
                        throws IOException,
                               AutomationException
Indicates whether to expand or limit the number of events that are fired. The following events are not fired if VerboseEvents is false: AfterItemDraw.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isVerboseEvents in interface IViewManager
Returns:
The verboseEvents
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVerboseEvents

public void setVerboseEvents(boolean verboseEvents)
                      throws IOException,
                             AutomationException
Indicates whether to expand or limit the number of events that are fired. The following events are not fired if VerboseEvents is false: AfterItemDraw.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setVerboseEvents in interface IViewManager
Parameters:
verboseEvents - The verboseEvents (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDelayBackgroundDraw

public boolean isDelayBackgroundDraw()
                              throws IOException,
                                     AutomationException
Indicates if the background should draw immediately. Set to true to eliminate flashing during animation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDelayBackgroundDraw in interface IViewManager
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDelayBackgroundDraw

public void setDelayBackgroundDraw(boolean flag)
                            throws IOException,
                                   AutomationException
Indicates if the background should draw immediately. Set to true to eliminate flashing during animation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDelayBackgroundDraw in interface IViewManager
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isExternalDrawing

public boolean isExternalDrawing(int phase)
                          throws IOException,
                                 AutomationException
Indicates if external clients are drawing in response to the specified phase.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isExternalDrawing in interface IViewManager
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
Returns:
The externalDrawing
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExternalDrawing

public void setExternalDrawing(int phase,
                               boolean externalDrawing)
                        throws IOException,
                               AutomationException
Indicates if external clients are drawing in response to the specified phase.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setExternalDrawing in interface IViewManager
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
externalDrawing - The externalDrawing (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDrawing

public boolean isDrawing()
                  throws IOException,
                         AutomationException
Indicates whether the view is currently drawing or not.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDrawing in interface IViewRefresh
Returns:
The drawing
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isProgressiveDrawing

public boolean isProgressiveDrawing()
                             throws IOException,
                                    AutomationException
Indicates whether the view should progressively update the window during drawing. False means just update the window once when all rendering is complete.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isProgressiveDrawing in interface IViewRefresh
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setProgressiveDrawing

public void setProgressiveDrawing(boolean flag)
                           throws IOException,
                                  AutomationException
Indicates whether the view should progressively update the window during drawing. False means just update the window once when all rendering is complete.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setProgressiveDrawing in interface IViewRefresh
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

partialRefreshShape

public void partialRefreshShape(int phase,
                                Object data,
                                IGeometry geometry,
                                double symbolSizePoints)
                         throws IOException,
                                AutomationException
Refreshes the specified shape on the specified view phase. Use symbolSizePoints to indicate point and line sizes.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
partialRefreshShape in interface IViewRefresh
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
data - A reference to another Object (IUnknown) (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
symbolSizePoints - The symbolSizePoints (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

animationRefresh

public void animationRefresh(int phase,
                             Object data,
                             IEnvelope envelope)
                      throws IOException,
                             AutomationException
Use to quickly redraw a phase that has it's own cache, i.e., a tracking layer. Tradeoffs are made to ensure fast redrawing at the expense of quality.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
animationRefresh in interface IViewRefresh
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
data - A reference to another Object (IUnknown) (in)
envelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

animationRefreshShape

public void animationRefreshShape(int phase,
                                  Object data,
                                  IGeometry geometry,
                                  double symbolSizePoints)
                           throws IOException,
                                  AutomationException
Use to quickly redraw a phase that has it's own cache, i.e., a tracking layer. Tradeoffs are made to ensure fast redrawing at the expense of quality. See PartialRefreshShape for more info.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
animationRefreshShape in interface IViewRefresh
Parameters:
phase - A com.esri.arcgis.carto.esriViewDrawPhase constant (in)
data - A reference to another Object (IUnknown) (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
symbolSizePoints - The symbolSizePoints (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshItem

public void refreshItem(Object data)
                 throws IOException,
                        AutomationException
Use to redraw a specific item and the content above it. When adding items to the view (i.e., layers or graphics). Refresh can be optimized by only drawing the newly added items.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
refreshItem in interface IViewRefresh
Parameters:
data - A reference to another Object (IUnknown) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshCaches

public void refreshCaches()
                   throws IOException,
                          AutomationException
Reallocate the display caches. Causes a full redraw. Normally caches are automatically maintained. Use this sparingly when programatically changing attributes that affect caching such as ILayer::Cached flag.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
refreshCaches in interface IViewRefresh
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

next

public IElement next()
              throws IOException,
                     AutomationException
Returns the next graphic in the container.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
next in interface IGraphicsContainer
Returns:
A reference to a com.esri.arcgis.carto.IElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

public void reset()
           throws IOException,
                  AutomationException
Reset internal cursor so that Next returns the first element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
reset in interface IGraphicsContainer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addElement

public void addElement(IElement element,
                       int zorder)
                throws IOException,
                       AutomationException
Add a new graphic element to the layer.

Description

This method adds the input element the graphics container referenced. The parameter zorder is currently not utilized by all of the IGraphicsContainer implementations and is typically set to 0 when calling this method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addElement in interface IGraphicsContainer
Parameters:
element - A reference to a com.esri.arcgis.carto.IElement (in)
zorder - The zorder (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addElements

public void addElements(IElementCollection elements,
                        int zorder)
                 throws IOException,
                        AutomationException
Add new graphic elements to the layer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addElements in interface IGraphicsContainer
Parameters:
elements - A reference to a com.esri.arcgis.carto.IElementCollection (in)
zorder - The zorder (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteElement

public void deleteElement(IElement element)
                   throws IOException,
                          AutomationException
Delete the given element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteElement in interface IGraphicsContainer
Parameters:
element - A reference to a com.esri.arcgis.carto.IElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteAllElements

public void deleteAllElements()
                       throws IOException,
                              AutomationException
Delete all the elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteAllElements in interface IGraphicsContainer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveElementToGroup

public void moveElementToGroup(IElement element,
                               IGroupElement group)
                        throws IOException,
                               AutomationException
Move the element from the container to the group.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
moveElementToGroup in interface IGraphicsContainer
Parameters:
element - A reference to a com.esri.arcgis.carto.IElement (in)
group - A reference to a com.esri.arcgis.carto.IGroupElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveElementFromGroup

public void moveElementFromGroup(IGroupElement group,
                                 IElement element,
                                 int zorder)
                          throws IOException,
                                 AutomationException
Move the element from the group to the container.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
moveElementFromGroup in interface IGraphicsContainer
Parameters:
group - A reference to a com.esri.arcgis.carto.IGroupElement (in)
element - A reference to a com.esri.arcgis.carto.IElement (in)
zorder - The zorder (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locateElements

public IEnumElement locateElements(IPoint point,
                                   double tolerance)
                            throws IOException,
                                   AutomationException
Returns the elements at the given coordinate.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
locateElements in interface IGraphicsContainer
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
tolerance - The tolerance (in)
Returns:
A reference to a com.esri.arcgis.carto.IEnumElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locateElementsByEnvelope

public IEnumElement locateElementsByEnvelope(IEnvelope envelope)
                                      throws IOException,
                                             AutomationException
Returns the elements inside the given envelope.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
locateElementsByEnvelope in interface IGraphicsContainer
Parameters:
envelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Returns:
A reference to a com.esri.arcgis.carto.IEnumElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findFrame

public IFrameElement findFrame(Object frameObject)
                        throws IOException,
                               AutomationException
Find the frame that contains the specified object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
findFrame in interface IGraphicsContainer
Parameters:
frameObject - A Variant (in)
Returns:
A reference to a com.esri.arcgis.carto.IFrameElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateElement

public void updateElement(IElement element)
                   throws IOException,
                          AutomationException
The graphic element's properties have changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateElement in interface IGraphicsContainer
Parameters:
element - A reference to a com.esri.arcgis.carto.IElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElementOrder

public Object getElementOrder(IEnumElement elements)
                       throws IOException,
                              AutomationException
Private order object. Used to undo ordering operations.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getElementOrder in interface IGraphicsContainer
Parameters:
elements - A reference to a com.esri.arcgis.carto.IEnumElement (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putElementOrder

public void putElementOrder(Object order)
                     throws IOException,
                            AutomationException
Private order object. Used to undo ordering operations.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
putElementOrder in interface IGraphicsContainer
Parameters:
order - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

bringToFront

public void bringToFront(IEnumElement elements)
                  throws IOException,
                         AutomationException
Make the specified elements draw in front of all other elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
bringToFront in interface IGraphicsContainer
Parameters:
elements - A reference to a com.esri.arcgis.carto.IEnumElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

sendToBack

public void sendToBack(IEnumElement elements)
                throws IOException,
                       AutomationException
Make the specified elements draw behind all other elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
sendToBack in interface IGraphicsContainer
Parameters:
elements - A reference to a com.esri.arcgis.carto.IEnumElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

sendBackward

public void sendBackward(IEnumElement elements)
                  throws IOException,
                         AutomationException
Move the specified elements one step closer to the bottom of the stack of elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
sendBackward in interface IGraphicsContainer
Parameters:
elements - A reference to a com.esri.arcgis.carto.IEnumElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

bringForward

public void bringForward(IEnumElement elements)
                  throws IOException,
                         AutomationException
Move the specified elements one step closer to the top of the stack of elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
bringForward in interface IGraphicsContainer
Parameters:
elements - A reference to a com.esri.arcgis.carto.IEnumElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectElement

public void selectElement(IElement element)
                   throws IOException,
                          AutomationException
Selects the specified element.

Remarks

Adds the specified element to the element selection and fires the IActiveViewEvents::SelectionChanged event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectElement in interface IGraphicsContainerSelect
Parameters:
element - A reference to a com.esri.arcgis.carto.IElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectElements

public void selectElements(IEnumElement elements)
                    throws IOException,
                           AutomationException
Selects the specified elements.

Remarks

Adds the specified elements to the element selection and fires the IActiveViewEvents::SelectionChanged event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectElements in interface IGraphicsContainerSelect
Parameters:
elements - A reference to a com.esri.arcgis.carto.IEnumElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectAllElements

public void selectAllElements()
                       throws IOException,
                              AutomationException
Selects all elements.

Remarks

Selects all elements in the container and fires the IActiveViewEvents::SelectionChanged event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectAllElements in interface IGraphicsContainerSelect
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unselectElement

public void unselectElement(IElement element)
                     throws IOException,
                            AutomationException
Unselects the specified element.

Remarks

Removes the specified element from the element selection and fires the IActiveViewEvents::SelectionChanged event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
unselectElement in interface IGraphicsContainerSelect
Parameters:
element - A reference to a com.esri.arcgis.carto.IElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unselectElements

public void unselectElements(IEnumElement elements)
                      throws IOException,
                             AutomationException
Unselects the specified elements.

Remarks

Removes the specified elements from the element selection and fires the IActiveViewEvents::SelectionChanged event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
unselectElements in interface IGraphicsContainerSelect
Parameters:
elements - A reference to a com.esri.arcgis.carto.IEnumElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unselectAllElements

public void unselectAllElements()
                         throws IOException,
                                AutomationException
Unselects all elements.

Remarks

Clears the element selection and fires the IActiveViewEvents::SelectionChanged event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
unselectAllElements in interface IGraphicsContainerSelect
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelectedElements

public IEnumElement getSelectedElements()
                                 throws IOException,
                                        AutomationException
The selected elements.

Remarks

Returns an IEnumElement containing all of the selected elements.

An IEnumElement reference to the element selection is also available from IViewManager::ElementSelection and IActiveView::Selection (QI from ISelection).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSelectedElements in interface IGraphicsContainerSelect
Returns:
A reference to a com.esri.arcgis.carto.IEnumElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IViewManager.getElementSelection()

getElementSelectionCount

public int getElementSelectionCount()
                             throws IOException,
                                    AutomationException
The number of selected elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getElementSelectionCount in interface IGraphicsContainerSelect
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectedElement

public IElement selectedElement(int index)
                         throws IOException,
                                AutomationException
Returns the nth selected element. Use Selection count to get the number of selected elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectedElement in interface IGraphicsContainerSelect
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.IElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectionTracker

public ISelectionTracker selectionTracker(int index)
                                   throws IOException,
                                          AutomationException
Returns the tracker for the nth selected element. Use Selection count to get the number of selected elements.

Remarks

Elements have associated selection tracker objects which provide reshaping functionality. For example, in ArcMap after adding an element, the element is drawn with a selection tracker around it and users can then drag one of the selection handles on the selection tracker to modify the element's shape.

There are several types of selection tracker objects including EnvelopeTracker, MarkerTracker, PointTracker, and PolygonTracker. When an element is first selected, an EnvelopeTracker is created for it. However, if the element has its IElementEditVertices::MovingVertices property set to TRUE, then the geometry of the element dictates the type of selection tracker created. For example, a line element will create a LineTracker.

IElement::SelectionTracker checks if the elements IElementEditVertices::MovingVertices property is set to TRUE; if so, IElementEditVertices::GetMoveVerticesSelectionTracker is called to create the appropriate tracker object for the element. If MovingVertices returns FALSE, then an EnvelopeTracker is created for the element.

In ArcMap, selecting an element creates an EnvelopeTracker but the 'Edit Vertices' command swaps the it out with a PolygonTracker or LineTracker. Some elements such as a MarkerElement, CircleElement, EllipseElement, and RectangleElement, only create EnvelopeTrackers and the vertices of the these elements cannot be edited.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectionTracker in interface IGraphicsContainerSelect
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.display.ISelectionTracker
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IElement

elementSelected

public boolean elementSelected(IElement element)
                        throws IOException,
                               AutomationException
Indicates if the element is selected.

Remarks

Returns TRUE if the specified element is selected.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
elementSelected in interface IGraphicsContainerSelect
Parameters:
element - A reference to a com.esri.arcgis.carto.IElement (in)
Returns:
The elementSelected
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDominantElement

public IElement getDominantElement()
                            throws IOException,
                                   AutomationException
Dominant element.

Remarks

The dominant element is by default the first element selected. The alignment commands make use of the dominant element to arrange elements more precisely.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDominantElement in interface IGraphicsContainerSelect
Returns:
A reference to a com.esri.arcgis.carto.IElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDominantElementByRef

public void setDominantElementByRef(IElement dominantItem)
                             throws IOException,
                                    AutomationException
Dominant element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDominantElementByRef in interface IGraphicsContainerSelect
Parameters:
dominantItem - A reference to a com.esri.arcgis.carto.IElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelectionBounds

public IEnvelope getSelectionBounds(IDisplay display)
                             throws IOException,
                                    AutomationException
The bounds of the selection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getSelectionBounds in interface IGraphicsContainerSelect
Parameters:
display - A reference to a com.esri.arcgis.display.IDisplay (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

enumConnectionPoints

public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
                          throws IOException,
                                 AutomationException
enumConnectionPoints

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
enumConnectionPoints in interface IConnectionPointContainer
Parameters:
ppEnum - A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findConnectionPoint

public void findConnectionPoint(GUID riid,
                                IConnectionPoint[] ppCP)
                         throws IOException,
                                AutomationException
findConnectionPoint

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
findConnectionPoint in interface IConnectionPointContainer
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
ppCP - A reference to a com.esri.arcgis.display.IConnectionPoint (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBookmarks

public IEnumSpatialBookmark getBookmarks()
                                  throws IOException,
                                         AutomationException
The bookmarks.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBookmarks in interface IMapBookmarks
Returns:
A reference to a com.esri.arcgis.carto.IEnumSpatialBookmark
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addBookmark

public void addBookmark(ISpatialBookmark bookmark)
                 throws IOException,
                        AutomationException
Adds a bookmark to the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addBookmark in interface IMapBookmarks
Parameters:
bookmark - A reference to a com.esri.arcgis.carto.ISpatialBookmark (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeBookmark

public void removeBookmark(ISpatialBookmark bookmark)
                    throws IOException,
                           AutomationException
Removes a bookmark from the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeBookmark in interface IMapBookmarks
Parameters:
bookmark - A reference to a com.esri.arcgis.carto.ISpatialBookmark (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeAllBookmarks

public void removeAllBookmarks()
                        throws IOException,
                               AutomationException
Removes all bookmarks.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeAllBookmarks in interface IMapBookmarks
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveBookmarkTo

public void moveBookmarkTo(ISpatialBookmark bookmark,
                           int index)
                    throws IOException,
                           AutomationException
Moves a bookmark in the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
moveBookmarkTo in interface IMapBookmarks2
Parameters:
bookmark - A reference to a com.esri.arcgis.carto.ISpatialBookmark (in)
index - The index (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

sortBookmarks

public void sortBookmarks(boolean ascending)
                   throws IOException,
                          AutomationException
Adds a bookmark to the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
sortBookmarks in interface IMapBookmarks2
Parameters:
ascending - The ascending (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectionChanged

public void selectionChanged(ISelectionEventsSelectionChangedEvent theEvent)
                      throws IOException,
                             AutomationException
Call this function to fire the selection changed event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectionChanged in interface ISelectionEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

displayStarted

public void displayStarted(IDisplayEventsDisplayStartedEvent theEvent)
                    throws IOException,
                           AutomationException
Notifies clients when drawing starts.

Remarks

IDisplay::StartDrawing fires this event to notify clients that drawing has started. The display where drawing was initiated is returned.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
displayStarted in interface IDisplayEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

displayFinished

public void displayFinished(IDisplayEventsDisplayFinishedEvent theEvent)
                     throws IOException,
                            AutomationException
Notifies clients when drawing completes.

Remarks

IDisplay::FinishDrawing fires this event to notify clients that drawing has completed. The display where drawing has completed is returned to the client.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
displayFinished in interface IDisplayEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

displayInvalidated

public void displayInvalidated(IDisplayEventsDisplayInvalidatedEvent theEvent)
                        throws IOException,
                               AutomationException
Notifies clients when display is invalidated.

Remarks

IScreenDisplay::Invalidate fires this event to notify all clients a display has been invalidated. The display, the area invalidated, the erase setting, and the cacheID are all returned to clients listening to this event.

The Map object is one client that listens for this event and it may in turn fire the IActiveViewEvenets::ViewRefreshed event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
displayInvalidated in interface IDisplayEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

displayScrolled

public void displayScrolled(IDisplayEventsDisplayScrolledEvent theEvent)
                     throws IOException,
                            AutomationException
Notifies clients when display is scrolled.

Remarks

IScreenDisplay::DoScroll fires this event to notify all clients that the display has scrolled. For example, the Map object listens for this event because it needs to perform some drawing operations whenever its display is scrolled.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
displayScrolled in interface IDisplayEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

boundsUpdated

public void boundsUpdated(ITransformEventsBoundsUpdatedEvent theEvent)
                   throws IOException,
                          AutomationException
Notifies clients when the bounds is updated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
boundsUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

visibleBoundsUpdated

public void visibleBoundsUpdated(ITransformEventsVisibleBoundsUpdatedEvent theEvent)
                          throws IOException,
                                 AutomationException
Notifies clients when the visible bounds is updated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
visibleBoundsUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deviceFrameUpdated

public void deviceFrameUpdated(ITransformEventsDeviceFrameUpdatedEvent theEvent)
                        throws IOException,
                               AutomationException
Notifies clients when the device frame is updated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deviceFrameUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

resolutionUpdated

public void resolutionUpdated(ITransformEventsResolutionUpdatedEvent theEvent)
                       throws IOException,
                              AutomationException
Notifies clients when the resolution is updated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
resolutionUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotationUpdated

public void rotationUpdated(ITransformEventsRotationUpdatedEvent theEvent)
                     throws IOException,
                            AutomationException
Notifies clients when the rotation angle is updated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotationUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unitsUpdated

public void unitsUpdated(ITransformEventsUnitsUpdatedEvent theEvent)
                  throws IOException,
                         AutomationException
Notifies clients when the units are updated.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
unitsUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTableCount

public int getTableCount()
                  throws IOException,
                         AutomationException
Number of tables.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTableCount in interface ITableCollection
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTable

public ITable getTable(int index)
                throws IOException,
                       AutomationException
The table at the given index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getTable in interface ITableCollection
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addTable

public void addTable(ITable table)
              throws IOException,
                     AutomationException
Adds a table to the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addTable in interface ITableCollection
Parameters:
table - A reference to a com.esri.arcgis.geodatabase.ITable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeTable

public void removeTable(ITable table)
                 throws IOException,
                        AutomationException
Removes a table from the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeTable in interface ITableCollection
Parameters:
table - A reference to a com.esri.arcgis.geodatabase.ITable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeAllTables

public void removeAllTables()
                     throws IOException,
                            AutomationException
Removes all tables from the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeAllTables in interface ITableCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStandaloneTableCount

public int getStandaloneTableCount()
                            throws IOException,
                                   AutomationException
Number of standalone tables.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getStandaloneTableCount in interface IStandaloneTableCollection
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStandaloneTable

public IStandaloneTable getStandaloneTable(int index)
                                    throws IOException,
                                           AutomationException
The standalone table at the given index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getStandaloneTable in interface IStandaloneTableCollection
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.IStandaloneTable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addStandaloneTable

public void addStandaloneTable(IStandaloneTable table)
                        throws IOException,
                               AutomationException
Adds a standalone table to the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addStandaloneTable in interface IStandaloneTableCollection
Parameters:
table - A reference to a com.esri.arcgis.carto.IStandaloneTable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeStandaloneTable

public void removeStandaloneTable(IStandaloneTable table)
                           throws IOException,
                                  AutomationException
Removes the standalone table from the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeStandaloneTable in interface IStandaloneTableCollection
Parameters:
table - A reference to a com.esri.arcgis.carto.IStandaloneTable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeAllStandaloneTables

public void removeAllStandaloneTables()
                               throws IOException,
                                      AutomationException
Removes all standalone tables from the collection.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeAllStandaloneTables in interface IStandaloneTableCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUsesFilter

public boolean isUsesFilter()
                     throws IOException,
                            AutomationException
Indicates if the current object draws using a filter.

Remarks

The UsesFilter property returns true when the object in question will draw with a filter. Drawing with a filter means means that an object that would normally draw as vector graphics will instead draw as raster. The UsesFilter property is particularly useful for detecting vector map layers that will be rasterized at time of print or export.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUsesFilter in interface IDisplayAdmin
Returns:
The usesFilter
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNonFrameBackgroundByRef

public void setNonFrameBackgroundByRef(IBackground rhs1)
                                throws IOException,
                                       AutomationException
The background to use when drawing to destinations other than a frame.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNonFrameBackgroundByRef in interface IMapAdmin
Specified by:
setNonFrameBackgroundByRef in interface IMapAdmin2
Specified by:
setNonFrameBackgroundByRef in interface IMapAdmin3
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IBackground (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setClipBounds

public void setClipBounds(IGeometry rhs1)
                   throws IOException,
                          AutomationException
Specify a boundary to clip to. Frame uses this to clip to border.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setClipBounds in interface IMapAdmin
Specified by:
setClipBounds in interface IMapAdmin2
Specified by:
setClipBounds in interface IMapAdmin3
Parameters:
rhs1 - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fireAfterDraw

public void fireAfterDraw(int hDC)
                   throws IOException,
                          AutomationException
Fire AfterDraw(esriViewForeground) event.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fireAfterDraw in interface IMapAdmin
Specified by:
fireAfterDraw in interface IMapAdmin2
Specified by:
fireAfterDraw in interface IMapAdmin3
Parameters:
hDC - The hDC (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fireChangeVersion

public void fireChangeVersion(IVersion oldVersion,
                              IVersion newVersion)
                       throws IOException,
                              AutomationException
Notifies listeners that a version in the map changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fireChangeVersion in interface IMapAdmin
Specified by:
fireChangeVersion in interface IMapAdmin2
Specified by:
fireChangeVersion in interface IMapAdmin3
Parameters:
oldVersion - A reference to a com.esri.arcgis.geodatabase.IVersion (in)
newVersion - A reference to a com.esri.arcgis.geodatabase.IVersion (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fireChangeFeatureClass

public void fireChangeFeatureClass(IFeatureClass oldClass,
                                   IFeatureClass newClass)
                            throws IOException,
                                   AutomationException
Notifies listeners that the a layer's class has changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fireChangeFeatureClass in interface IMapAdmin
Specified by:
fireChangeFeatureClass in interface IMapAdmin2
Specified by:
fireChangeFeatureClass in interface IMapAdmin3
Parameters:
oldClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
newClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNonFrameBackground

public IBackground getNonFrameBackground()
                                  throws IOException,
                                         AutomationException
Specify the background to use when drawing to destinations other than a frame.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNonFrameBackground in interface IMapAdmin2
Specified by:
getNonFrameBackground in interface IMapAdmin3
Returns:
A reference to a com.esri.arcgis.carto.IBackground
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fireChangeTable

public void fireChangeTable(ITable oldTable,
                            ITable newTable)
                     throws IOException,
                            AutomationException
Notifies listeners that the a layer's class has changed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fireChangeTable in interface IMapAdmin2
Specified by:
fireChangeTable in interface IMapAdmin3
Parameters:
oldTable - A reference to a com.esri.arcgis.geodatabase.ITable (in)
newTable - A reference to a com.esri.arcgis.geodatabase.ITable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

completeRedrawNeeded

public boolean completeRedrawNeeded()
                             throws IOException,
                                    AutomationException
Check if a complete redraw is needed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
completeRedrawNeeded in interface IMapAdmin2
Specified by:
completeRedrawNeeded in interface IMapAdmin3
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

forceGraphicSelectionDraw

public void forceGraphicSelectionDraw()
                               throws IOException,
                                      AutomationException
Call before using Output to cause graphic selection to be drawn.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
forceGraphicSelectionDraw in interface IMapAdmin2
Specified by:
forceGraphicSelectionDraw in interface IMapAdmin3
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

suppressForegroundDraw

public void suppressForegroundDraw()
                            throws IOException,
                                   AutomationException
Call before using Output to prevent AfterDraw(esriViewForeground) from being fired.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
suppressForegroundDraw in interface IMapAdmin2
Specified by:
suppressForegroundDraw in interface IMapAdmin3
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fireLayerDeleted

public void fireLayerDeleted(ILayer layer)
                      throws IOException,
                             AutomationException
Notifies listeners that a layer has been removed from the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fireLayerDeleted in interface IMapAdmin3
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fireLayerAdded

public void fireLayerAdded(ILayer layer)
                    throws IOException,
                           AutomationException
Notifies listeners that a layer has been added to the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fireLayerAdded in interface IMapAdmin3
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fireLayerReordered

public void fireLayerReordered(ILayer layer,
                               int toIndex)
                        throws IOException,
                               AutomationException
Notifies listeners that a layer has been reordered the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fireLayerReordered in interface IMapAdmin3
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
toIndex - The toIndex (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDomainDefiningLayer

public ILayer getDomainDefiningLayer()
                              throws IOException,
                                     AutomationException
Returns the layer which defines map domain, 0 if domain is the union of all layers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getDomainDefiningLayer in interface IMapAdmin4
Returns:
A reference to a com.esri.arcgis.carto.ILayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDomainDefiningLayer

public void setDomainDefiningLayer(ILayer layer)
                            throws IOException,
                                   AutomationException
Returns the layer which defines map domain, 0 if domain is the union of all layers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setDomainDefiningLayer in interface IMapAdmin4
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSimulateLayerEffectsInLegends

public boolean isSimulateLayerEffectsInLegends()
                                        throws IOException,
                                               AutomationException
Indicates whether to simulate transparency and other effects in legends.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isSimulateLayerEffectsInLegends in interface IMapAdmin4
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSimulateLayerEffectsInLegends

public void setSimulateLayerEffectsInLegends(boolean flag)
                                      throws IOException,
                                             AutomationException
Indicates whether to simulate transparency and other effects in legends.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setSimulateLayerEffectsInLegends in interface IMapAdmin4
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRelationshipClasses

public IEnumRelationshipClass getRelationshipClasses()
                                              throws IOException,
                                                     AutomationException
The memory relationship classes.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRelationshipClasses in interface IRelationshipClassCollection
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRelationshipClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findRelationshipClasses

public IEnumRelationshipClass findRelationshipClasses(IObjectClass objectClass,
                                                      int role)
                                               throws IOException,
                                                      AutomationException
Finds all relationship classes in the collection that reference the given object class in the specified role.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
findRelationshipClasses in interface IRelationshipClassCollection
Parameters:
objectClass - A reference to a com.esri.arcgis.geodatabase.IObjectClass (in)
role - A com.esri.arcgis.geodatabase.esriRelRole constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRelationshipClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeographicTransformations

public IGeoTransformationOperationSet getGeographicTransformations()
                                                            throws IOException,
                                                                   AutomationException
On-the-fly geographic transformations.

Description

Each Map has a set of active geographic transformations. The active GeoTransformations are stored in a GeoTransformationOperationSet. If the geographic coordinate systems of a layer and the data frame match a GeoTransformation and its direction in the GeoTransformationOperationSet, the transformation is applied automatically while displaying the layer in the data frame.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getGeographicTransformations in interface IMapGeographicTransformations
Returns:
A reference to a com.esri.arcgis.geometry.IGeoTransformationOperationSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

buildCache

public void buildCache()
                throws IOException,
                       AutomationException
Build the spatial cache.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
buildCache in interface IMapCache
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxScale

public void setMaxScale(double pMaxScale)
                 throws IOException,
                        AutomationException
The maximum scale for the cache to be built.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaxScale in interface IMapCache
Parameters:
pMaxScale - The pMaxScale (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxScale

public double getMaxScale()
                   throws IOException,
                          AutomationException
The maximum scale for the cache to be built.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaxScale in interface IMapCache
Returns:
The pMaxScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCacheable

public boolean isCacheable()
                    throws IOException,
                           AutomationException
Indicates whether a map cache can be created.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCacheable in interface IMapCache
Returns:
The cacheable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isAutoCacheActive

public boolean isAutoCacheActive()
                          throws IOException,
                                 AutomationException
Indicates whether the autocache is active.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAutoCacheActive in interface IMapCache
Returns:
The active
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAutoCacheActive

public void setAutoCacheActive(boolean active)
                        throws IOException,
                               AutomationException
Indicates whether the autocache is active.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAutoCacheActive in interface IMapCache
Parameters:
active - The active (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isScaleLimit

public boolean isScaleLimit()
                     throws IOException,
                            AutomationException
Indicates whether there is a scale limit.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isScaleLimit in interface IMapCache
Returns:
The limited
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScaleLimit

public void setScaleLimit(boolean limited)
                   throws IOException,
                          AutomationException
Indicates whether there is a scale limit.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setScaleLimit in interface IMapCache
Parameters:
limited - The limited (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheExtent

public IEnvelope getCacheExtent()
                         throws IOException,
                                AutomationException
Current cache extent.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCacheExtent in interface IMapCache
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

emptyCache

public void emptyCache()
                throws IOException,
                       AutomationException
Empty the map cache.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
emptyCache in interface IMapCache
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshAutoCache

public void refreshAutoCache()
                      throws IOException,
                             AutomationException
Refresh the autocache.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
refreshAutoCache in interface IMapCache
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseMasking

public void setUseMasking(boolean flag)
                   throws IOException,
                          AutomationException
Indicates whether to use masking.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUseMasking in interface ILayerMasking
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseMasking

public boolean isUseMasking()
                     throws IOException,
                            AutomationException
Indicates whether to use masking.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUseMasking in interface ILayerMasking
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaskingLayers

public void setMaskingLayers(ILayer layer,
                             ISet maskingLayers)
                      throws IOException,
                             AutomationException
The masks for a layer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setMaskingLayers in interface ILayerMasking
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
maskingLayers - A reference to a com.esri.arcgis.system.ISet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaskingLayers

public ISet getMaskingLayers(ILayer layer)
                      throws IOException,
                             AutomationException
The masks for a layer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getMaskingLayers in interface ILayerMasking
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearMasking

public void clearMasking(ILayer layer)
                  throws IOException,
                         AutomationException
Clear masking layers on a layer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
clearMasking in interface ILayerMasking
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaskedLayers

public ISet getMaskedLayers()
                     throws IOException,
                            AutomationException
The set of layers that are being masked.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getMaskedLayers in interface ILayerMasking
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLevelMasking

public void setLevelMasking(ILayer maskedLayer,
                            ILayer maskingLayer,
                            String pLevels)
                     throws IOException,
                            AutomationException
The symbol levels for which the masking applies.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setLevelMasking in interface ILevelMasking
Parameters:
maskedLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
maskingLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
pLevels - The pLevels (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLevelMasking

public String getLevelMasking(ILayer maskedLayer,
                              ILayer maskingLayer)
                       throws IOException,
                              AutomationException
The symbol levels for which the masking applies.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getLevelMasking in interface ILevelMasking
Parameters:
maskedLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
maskingLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
The pLevels
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPageLayout

public IPageLayout getPageLayout()
                          throws IOException,
                                 AutomationException
The PageLayout object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPageLayout in interface IMxdContents
Returns:
A reference to a com.esri.arcgis.carto.IPageLayout
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMap

public IMap getMap()
            throws IOException,
                   AutomationException
The Map object.

Remarks

The map property is not supported in the case of new map being set into the focus map of the PageLayoutControl.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMap in interface IMxdContents
Returns:
A reference to a com.esri.arcgis.carto.IMap
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getActiveView

public IActiveView getActiveView()
                          throws IOException,
                                 AutomationException
The Map object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getActiveView in interface IMxdContents
Returns:
A reference to a com.esri.arcgis.carto.IActiveView
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOverposterProperties

public IOverposterProperties getOverposterProperties()
                                              throws IOException,
                                                     AutomationException
The overposter the map will use for labeling.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOverposterProperties in interface IMapOverposter
Returns:
A reference to a com.esri.arcgis.carto.IOverposterProperties
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOverposterPropertiesByRef

public void setOverposterPropertiesByRef(IOverposterProperties overposterProperties)
                                  throws IOException,
                                         AutomationException
The overposter the map will use for labeling.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setOverposterPropertiesByRef in interface IMapOverposter
Parameters:
overposterProperties - A reference to a com.esri.arcgis.carto.IOverposterProperties (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isLayerVisible

public boolean isLayerVisible(ILayer layer)
                       throws IOException,
                              AutomationException
Check if layer is visible.

Remarks

This method determines if a layer is actually visible in a map. It does this by checking to see if the layer is not drawn due to scale ranges and also by validating whether or not the layer is in a composite layer or group layer that is not visible.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isLayerVisible in interface IMapLayers
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
The isLayerVisible
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertLayer

public void insertLayer(ILayer pLayer,
                        boolean autoArrange,
                        int position)
                 throws IOException,
                        AutomationException
Inserts a layer at the given position.

Remarks

The autoArrange parameter controls the ordering of the layers. If autoArrange is set to TRUE, the layer is added in the proper position as by its weight specified via ILayerPosition::LayerWeight. By default, this means that the layers are sorted by layer type - Annotation layers on top, followed by Point geometry layers, Polyline geometry layers, and at the bottom Polygon geometry layers. If autoArrange is true for this method, the position passed in is ignored as the position is determined by the auto arrange logic.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
insertLayer in interface IMapLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
autoArrange - The autoArrange (in)
position - The position (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertLayers

public void insertLayers(IEnumLayer pLayers,
                         boolean autoArrange,
                         int position)
                  throws IOException,
                         AutomationException
Inserts layers at the given position.

Remarks

The autoArrange parameter controls the ordering of the layers. If autoArrange is set to TRUE, the layers are added in the proper position as by their weight specified via ILayerPosition::LayerWeight. By default, this means that the layers are sorted by layer type - Annotation layers on top, followed by Point geometry layers, Polyline geometry layers, and at the bottom Polygon geometry layers. If autoArrange is true for this method, the position passed in is ignored as the position is determined by the auto arrange logic.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
insertLayers in interface IMapLayers
Parameters:
pLayers - A reference to a com.esri.arcgis.carto.IEnumLayer (in)
autoArrange - The autoArrange (in)
position - The position (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertLayerInGroup

public void insertLayerInGroup(IGroupLayer pGroup,
                               ILayer pLayer,
                               boolean autoArrange,
                               int position)
                        throws IOException,
                               AutomationException
Inserts a layer at a given index of the map's group layer.

Remarks

The autoArrange parameter controls the ordering of the layers. If autoArrange is set to TRUE, the sequence of layers is by their weight specified via ILayerPosition::LayerWeight. By default, this means that the layers are sorted by layer type - Annotation layers on top, followed by Point geometry layers, Polyline geometry layers, and at the bottom Polygon geometry layers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
insertLayerInGroup in interface IMapLayers
Parameters:
pGroup - A reference to a com.esri.arcgis.carto.IGroupLayer (in)
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
autoArrange - The autoArrange (in)
position - The position (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertLayersInGroup

public void insertLayersInGroup(IGroupLayer pGroup,
                                IEnumLayer pLayer,
                                boolean autoArrange,
                                int position)
                         throws IOException,
                                AutomationException
Inserts layers at a given index of the map's group layer.

Remarks

The autoArrange parameter controls the ordering of the layers. If autoArrange is set to TRUE, the sequence of layers is by their weight specified via ILayerPosition::LayerWeight. By default, this means that the layers are sorted by layer type - Annotation layers on top, followed by Point geometry layers, Polyline geometry layers, and at the bottom Polygon geometry layers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
insertLayersInGroup in interface IMapLayers
Parameters:
pGroup - A reference to a com.esri.arcgis.carto.IGroupLayer (in)
pLayer - A reference to a com.esri.arcgis.carto.IEnumLayer (in)
autoArrange - The autoArrange (in)
position - The position (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveLayerEx

public void moveLayerEx(IGroupLayer pFromGroup,
                        IGroupLayer pToGroup,
                        ILayer pLayer,
                        int newPosition)
                 throws IOException,
                        AutomationException
Moves the layer with in the map.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
moveLayerEx in interface IMapLayers
Parameters:
pFromGroup - A reference to a com.esri.arcgis.carto.IGroupLayer (in)
pToGroup - A reference to a com.esri.arcgis.carto.IGroupLayer (in)
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
newPosition - The newPosition (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDynamicMapEnabled

public boolean isDynamicMapEnabled()
                            throws IOException,
                                   AutomationException
Indicates if dynamic map is turned on or off.

Remarks

Use the DynamicMapEnabled property to toggle between Dynamic and Standard mode.

When true the Map is in Dynamic Mode (Dynamic Display is Active), when false the Map is in Standard Mode (Dynamic Display is Deactivated).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isDynamicMapEnabled in interface IDynamicMap
Returns:
The isEnable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDynamicMapEnabled

public void setDynamicMapEnabled(boolean isEnable)
                          throws IOException,
                                 AutomationException
Indicates if dynamic map is turned on or off.

Remarks

Use the DynamicMapEnabled property to toggle between Dynamic and Standard mode.

When true the Map is in Dynamic Mode (Dynamic Display is Active), when false the Map is in Standard Mode (Dynamic Display is Deactivated).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setDynamicMapEnabled in interface IDynamicMap
Parameters:
isEnable - The isEnable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDynamicDrawRate

public int getDynamicDrawRate()
                       throws IOException,
                              AutomationException
The Dynamic draw rate in milliseconds.

Remarks

The DynamicDrawRate property controls the heart-beat rate of the Dynamic Map. The rate value refers to the Dynamic Map cycle time in milliseconds. If this value is changed to be slower, everything in dynamic mode will respond slower.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getDynamicDrawRate in interface IDynamicMap
Returns:
The dynamicDrawRateMS
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDynamicDrawRate

public void setDynamicDrawRate(int dynamicDrawRateMS)
                        throws IOException,
                               AutomationException
The Dynamic draw rate in milliseconds.

Remarks

The DynamicDrawRate property controls the heart-beat rate of the Dynamic Map. The rate value refers to the Dynamic Map cycle time in milliseconds. If this value is changed to be slower, everything in dynamic mode will respond slower.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setDynamicDrawRate in interface IDynamicMap
Parameters:
dynamicDrawRateMS - The dynamicDrawRateMS (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseSubPixelRendering

public boolean isUseSubPixelRendering()
                               throws IOException,
                                      AutomationException
Indicates whether the dynamic map is rendered in Sub Pixels or Full Pixels (snap to the nearest discrete pixel).

Remarks

When true, the Dynamic Map will render in Sub Pixel units. That enables the map and the Dynamic Elements to navigate smoothly, while accurately converting map coordinates to floating point screen pixel coordinates. This method might cause some blurriness.

When false, the Dynamic Map will render in Full Pixel units. That will result in snapping the Map and the Dynamic Elements to the nearest discrete screen pixel coordinate.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isUseSubPixelRendering in interface IDynamicMap
Returns:
The useSubPixelRendering
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseSubPixelRendering

public void setUseSubPixelRendering(boolean useSubPixelRendering)
                             throws IOException,
                                    AutomationException
Indicates whether the dynamic map is rendered in Sub Pixels or Full Pixels (snap to the nearest discrete pixel).

Remarks

When true, the Dynamic Map will render in Sub Pixel units. That enables the map and the Dynamic Elements to navigate smoothly, while accurately converting map coordinates to floating point screen pixel coordinates. This method might cause some blurriness.

When false, the Dynamic Map will render in Full Pixel units. That will result in snapping the Map and the Dynamic Elements to the nearest discrete screen pixel coordinate.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setUseSubPixelRendering in interface IDynamicMap
Parameters:
useSubPixelRendering - The useSubPixelRendering (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException