Provides access to members that control the marker placement.
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).
|AcceptGeometryType||Indicates if the input geometry type is valid.|
|NextTransformation||Returns the next transformation.|
|Reset||Resets the collection of transformations. Must be called before using NextTransformation.|
|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.|
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.
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