Marker
Creates a marker component
Examples
Set options
See
Events
Event dragstart
of type Event will be fired when dragging starts.
Event drag
of type Event will be fired while dragging.
Event dragend
of type Event will be fired when the marker is finished being dragged.
Extends
Constructors
new Marker()
new Marker(
options
?:MarkerOptions
):Marker
Parameters
Parameter | Type | Description |
---|---|---|
options ? |
MarkerOptions |
the options |
Returns
Overrides
Evented.constructor
Defined in
Methods
addClassName()
addClassName(
className
:string
):void
Adds a CSS class to the marker element.
Parameters
Parameter | Type | Description |
---|---|---|
className |
string |
on-empty string with CSS class name to add to marker element |
Returns
void
Example
Defined in
addTo()
addTo(
map
:Map
):this
Attaches the Marker
to a Map
object.
Parameters
Parameter | Type | Description |
---|---|---|
map |
Map |
The MapLibre GL JS map to add the marker to. |
Returns
this
Example
Defined in
getElement()
getElement():
HTMLElement
Returns the Marker
's HTML element.
Returns
HTMLElement
element
Defined in
getLngLat()
getLngLat():
LngLat
Get the marker's geographical location.
The longitude of the result may differ by a multiple of 360 degrees from the longitude previously
set by setLngLat
because Marker
wraps the anchor longitude across copies of the world to keep
the marker on screen.
Returns
A LngLat describing the marker's location.
Example
// Store the marker's longitude and latitude coordinates in a variable
let lngLat = marker.getLngLat();
// Print the marker's longitude and latitude values in the console
console.log('Longitude: ' + lngLat.lng + ', Latitude: ' + lngLat.lat )
See
Defined in
getOffset()
getOffset():
Point
Get the marker's offset.
Returns
Point
The marker's screen coordinates in pixels.
Defined in
getPitchAlignment()
getPitchAlignment():
Alignment
Returns the current pitchAlignment
property of the marker.
Returns
The current pitch alignment of the marker in degrees.
Defined in
getPopup()
getPopup():
Popup
Returns the Popup instance that is bound to the Marker.
Returns
popup
Example
let marker = new Marker()
.setLngLat([0, 0])
.setPopup(new Popup().setHTML("<h1>Hello World!</h1>"))
.addTo(map);
console.log(marker.getPopup()); // return the popup instance
Defined in
getRotation()
getRotation():
number
Returns the current rotation angle of the marker (in degrees).
Returns
number
The current rotation angle of the marker.
Defined in
getRotationAlignment()
getRotationAlignment():
Alignment
Returns the current rotationAlignment
property of the marker.
Returns
The current rotational alignment of the marker.
Defined in
isDraggable()
isDraggable():
boolean
Returns true if the marker can be dragged
Returns
boolean
True if the marker is draggable.
Defined in
listens()
listens(
type
:string
):boolean
Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.
Parameters
Parameter | Type | Description |
---|---|---|
type |
string |
The event type |
Returns
boolean
true
if there is at least one registered listener for specified event type, false
otherwise
Inherited from
Defined in
off()
Removes a previously registered event listener.
Parameters
Parameter | Type | Description |
---|---|---|
type |
string |
The event type to remove listeners for. |
listener |
Listener |
The listener function to remove. |
Returns
Inherited from
Defined in
on()
on(
type
:string
,listener
:Listener
):this
Adds a listener to a specified event type.
Parameters
Parameter | Type | Description |
---|---|---|
type |
string |
The event type to add a listen for. |
listener |
Listener |
The function to be called when the event is fired. The listener function is called with the data object passed to fire , extended with target and type properties. |
Returns
this
Inherited from
Defined in
once()
once(
type
:string
,listener
?:Listener
):Promise
<any
> |Marker
Adds a listener that will be called only once to a specified event type.
The listener will be called first time the event fires after the listener is registered.
Parameters
Parameter | Type | Description |
---|---|---|
type |
string |
The event type to listen for. |
listener ? |
Listener |
The function to be called when the event is fired the first time. |
Returns
Promise
<any
> | Marker
this
or a promise if a listener is not provided
Inherited from
Defined in
remove()
remove():
this
Removes the marker from a map
Returns
this
Example
Defined in
removeClassName()
removeClassName(
className
:string
):void
Removes a CSS class from the marker element.
Parameters
Parameter | Type | Description |
---|---|---|
className |
string |
Non-empty string with CSS class name to remove from marker element |
Returns
void
Example
Defined in
setDraggable()
setDraggable(
shouldBeDraggable
?:boolean
):this
Sets the draggable
property and functionality of the marker
Parameters
Parameter | Type | Description |
---|---|---|
shouldBeDraggable ? |
boolean |
Turns drag functionality on/off |
Returns
this
Defined in
setEventedParent()
Bubble all events fired by this instance of Evented to this parent instance of Evented.
Parameters
Parameter | Type |
---|---|
parent ? |
Evented |
data ? |
any |
Returns
Inherited from
Defined in
setLngLat()
setLngLat(
lnglat
:LngLatLike
):this
Set the marker's geographical position and move it.
Parameters
Parameter | Type | Description |
---|---|---|
lnglat |
LngLatLike |
A LngLat describing where the marker should be located. |
Returns
this
Example
Create a new marker, set the longitude and latitude, and add it to the map
See
Defined in
setOffset()
setOffset(
offset
:PointLike
):this
Sets the offset of the marker
Parameters
Parameter | Type | Description |
---|---|---|
offset |
PointLike |
The offset in pixels as a PointLike object to apply relative to the element's center. Negatives indicate left and up. |
Returns
this
Defined in
setOpacity()
setOpacity(
opacity
?:string
,opacityWhenCovered
?:string
):this
Sets the opacity
and opacityWhenCovered
properties of the marker.
When called without arguments, resets opacity and opacityWhenCovered to defaults
Parameters
Parameter | Type | Description |
---|---|---|
opacity ? |
string |
Sets the opacity property of the marker. |
opacityWhenCovered ? |
string |
Sets the opacityWhenCovered property of the marker. |
Returns
this
Defined in
setPitchAlignment()
setPitchAlignment(
alignment
?:Alignment
):this
Sets the pitchAlignment
property of the marker.
Parameters
Parameter | Type | Description |
---|---|---|
alignment ? |
Alignment |
Sets the pitchAlignment property of the marker. If alignment is 'auto', it will automatically match rotationAlignment . |
Returns
this
Defined in
setPopup()
setPopup(
popup
?:Popup
):this
Parameters
Parameter | Type | Description |
---|---|---|
popup ? |
Popup |
An instance of the Popup class. If undefined or null, any popup set on this Marker instance is unset. |
Returns
this
Example
let marker = new Marker()
.setLngLat([0, 0])
.setPopup(new Popup().setHTML("<h1>Hello World!</h1>")) // add popup
.addTo(map);
See
Attach a popup to a marker instance
Defined in
setRotation()
setRotation(
rotation
?:number
):this
Sets the rotation
property of the marker.
Parameters
Parameter | Type | Description |
---|---|---|
rotation ? |
number |
The rotation angle of the marker (clockwise, in degrees), relative to its respective Marker#setRotationAlignment setting. |
Returns
this
Defined in
setRotationAlignment()
setRotationAlignment(
alignment
?:Alignment
):this
Sets the rotationAlignment
property of the marker.
Parameters
Parameter | Type | Description |
---|---|---|
alignment ? |
Alignment |
Sets the rotationAlignment property of the marker. defaults to 'auto' |
Returns
this
Defined in
setSubpixelPositioning()
setSubpixelPositioning(
value
:boolean
):Marker
Set the option to allow subpixel positioning of the marker by passing a boolean
Parameters
Parameter | Type | Description |
---|---|---|
value |
boolean |
when set to true , subpixel positioning is enabled for the marker. |
Returns
Example
Defined in
toggleClassName()
toggleClassName(
className
:string
):boolean
Add or remove the given CSS class on the marker element, depending on whether the element currently has that class.
Parameters
Parameter | Type | Description |
---|---|---|
className |
string |
Non-empty string with CSS class name to add/remove |
Returns
boolean
if the class was removed return false, if class was added, then return true
Example
Defined in
togglePopup()
togglePopup():
this
Opens or closes the Popup instance that is bound to the Marker, depending on the current state of the Popup.
Returns
this
Example
let marker = new Marker()
.setLngLat([0, 0])
.setPopup(new Popup().setHTML("<h1>Hello World!</h1>"))
.addTo(map);
marker.togglePopup(); // toggle popup open or closed