ArcObjects Library Reference  (Display)    

IMarkerPlacement Interface

Provides access to members that control the marker placement.

Product Availability

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

When To Use

This interface must be implemented by all custom marker placement objects along with IGraphicAttributes and IPersistVariant interfaces (or IPersist and IPersistStream in Visual Basic 6.0).

Members

Description
Read-only property AcceptGeometryType Indicates if the input geometry type is valid.
Method NextTransformation Returns the next transformation.
Method Reset Resets the collection of transformations. Must be called before using NextTransformation.

CoClasses that implement IMarkerPlacement

CoClasses and Classes Description
MarkerPlacementAlongLine Places markers along a line.
MarkerPlacementAtExtremities Places a marker on each extremity of a line.
MarkerPlacementDecoration Places markers as line decorations.
MarkerPlacementInsidePolygon Places markers in a polygon.
MarkerPlacementOnLine Places one marker along a line.
MarkerPlacementOnPoint Places a marker on a point.
MarkerPlacementOnVertices Places markers on curve vertices.
MarkerPlacementPolygonCenter Places one marker at the center of a polygon.
MarkerPlacementRandomAlongLine Places markers randomly along a line.
MarkerPlacementRandomInPolygon Places markers randomly within a polygon.
MarkerPlacementVariableAlongLine Places markers with variable size along a line.

Remarks

Use IMarkerPlacement to define how you want to place marker symbols with respect to input geometry. If you create a custom marker placement, then IGraphicAttributes interface which will define the properties for this effect and IPersistVariant (VB users) or IPersist and IPersistStream (C++ users) to persist the object have to be implemented.

AcceptGeometryType is a boolean that indicates if the input geometry type is valid for the MarkerPlacement object. For example, this property returns True if input is esriGeometryPoint for MarkerPlacementOnPoint as this object places a marker at the location of the point geometry.

Reset method is used to re-set the result of applying a marker placement to a feature representation. Next method is used to retrieve the individual transformations created after the marker placement is applied. Sometimes a placement style may result in a multi-point output transformations. For example, MarkerPlacemementAlongLine places multiple markers along a line geometry.

Note: Reset method has to be called prior to calling Next method.

To make changes to an existing BasicMarkerSymbol's marker placement property use IBasicMarkerSymbol::MarkerPlacement property to retrieve the object and make changes using a IMarkerPlacement interface.

 

[Visual Basic 6.0]

Use this piece of code to determine the name of the marker placement:

  Dim pBasicMarkerSymbol As IBasicMarkerSymbol
  Set pBasicMarkerSymbol = pBasicSymbol 	'pBasicSymbol is  a reference to a
  'basic marker  symbol
  Dim pMarkerPlacement As IMarkerPlacement
  Set pMarkerPlacement = pBasicMarkerSymbol.MarkerPlacement
  Dim pGraphicAttributes As IGraphicAttributes
  Set pGraphicAttributes = pMarkerPlacement
  Debug.Print pGraphicAttributes.ClassName