Marker
Contents
Creates a marker component
Examples
let marker = new Marker()
.setLngLat([30.5, 50.5])
.addTo(map);
Set options
let marker = new Marker({
color: "#FFFFFF",
draggable: true
}).setLngLat([30.5, 50.5])
.addTo(map);
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
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
let marker = new Marker()
marker.addClassName('some-class')
addTo()
addTo(
map:Map):this
Attaches the Marker to a Map object.
Parameters
| Parameter | Type | Description |
|---|---|---|
map
| Map
| The map to add the marker to. |
Returns
this
Example
let marker = new Marker()
.setLngLat([30.5, 50.5])
.addTo(map); // add the marker to the map
getElement()
getElement():
HTMLElement
Returns the Marker’s HTML element.
Returns
HTMLElement
element
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
getOffset()
getOffset():
Point
Get the marker’s offset.
Returns
Point
The marker’s screen coordinates in pixels.
getPitchAlignment()
getPitchAlignment():
Alignment
Returns the current pitchAlignment property of the marker.
Returns
The current pitch alignment of the marker in degrees.
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
getRotation()
getRotation():
number
Returns the current rotation angle of the marker (in degrees).
Returns
number
The current rotation angle of the marker.
getRotationAlignment()
getRotationAlignment():
Alignment
Returns the current rotationAlignment property of the marker.
Returns
The current rotational alignment of the marker.
isDraggable()
isDraggable():
boolean
Returns true if the marker can be dragged
Returns
boolean
True if the marker is draggable.
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
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
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
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
remove()
remove():
this
Removes the marker from a map
Returns
this
Example
let marker = new Marker().addTo(map);
marker.remove();
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
let marker = new Marker()
marker.removeClassName('some-class')
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
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
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
new Marker()
.setLngLat([-65.017, -16.457])
.addTo(map);
See
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
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
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
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
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
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
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
let marker = new Marker()
marker.toggleClassName('toggleClass')
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