Can be used to specify a type for the data specified in Marker.setData and available in dynamic attribute callbacks.
Creates a new marker instance. Markers can be created without any options, or with any number of attributes set.
Optional
data: TUserDataProtected
attributeAttributes set by inheriting classes. These are applied at a lower precedence than the values in attributes_ and allow inheriting classes to provide values that can be overridden by the user and restored to their original value.
Optional
backgroundThe background-color for the marker pin. Can be specified in any format supported by CSS.
Optional
borderThe border-color for the marker pin. Can be specified in any format supported by CSS.
Optional
classA single classname or list of class names to be added to the content element.
Optional
collisionThe collision behavior controls how the marker interacts with other markers and labels on the map. See CollisionBehavior for more information.
Optional
colorThe color of the marker. Can be specified in any format supported by CSS.
This is a shorthand property to set a default value for the three
color-values (backgroundColor
, borderColor
and glyphColor
) to
matching colors.
The backgroundColor
will be set to the specified color, the border-color
will be a darkened vertsion of the color and the glyph-color is set based
on the brightness of the specified color to either a darkened or lightened
version.
Optional
contentThe content to replace the default pin. The specified html-element will be rendered instead of the default pin.
The content element you provide here will have access to the
style-properties of the marker (colors and scale) via css custom properties
(e.g. color: var(--marker-glyph-color, white)
).
Optional
draggableFlag to enable draggable markers. When using draggable markers, the
position-attribute of the marker will not be automatically updated. You
have to listen to the dragstart
, drag
and dragend
events and update
the position accordingly.
Optional
glyphThe glyph to be shown inside the marker-pin. This can be a single letter or number, a dom-element or a URL-object pointing to an image file.
Optional
glyphThe color of the glyph within the marker pin. Can be specified in any format supported by CSS.
Optional
iconThe id of an icon to be fetched via the icons.IconProvider. The resulting icon will be shown
Optional
positionThe position of the marker on the map.
Optional
scaleThe scale of the marker as a multiple of the original scale.
Optional
titleThe title of the marker element. Will be shown in the browsers default tooltip and should be provided for accessibility reasons.
Optional
zDefines the z-ordering for the marker and is used to compute the priority for collision handling. See the official documentation for more information.
Stores the map-instance. The map will be passed on to the
AdvancedMarkerElement in performUpdate()
.
Adds an event-listener to this marker. The internal events (click and dragging events) are attached to the marker instance using the Google Maps event system, while any dom-events will be added to the marker-element itself.
Adds an event-listener to this marker. The internal events (click and dragging events) are attached to the marker instance using the Google Maps event system, while any dom-events will be added to the marker-element itself.
Internal
Retrieve the parameters to be passed to dynamic attribute callbacks. This method is part of the internal API used by the ComputedMarkerAttributes.
Schedules an update of the marker, writing all attribute values to the underlying advanced marker objects. Calling this manually should not be needed.
Static
registerRegisters a new icon provider that resolves the value of the icon-attribute to something that can be used as glyph. When multiple providers are used, you can additionally provide a namespace for the icons.
For example:
marker.icon = 'star'; // requests the 'star' icon from the 'default' provider
marker.icon = 'other:star'; // requests the icon from the 'other' provider
The Marker class.