You can customize the appearance of markers using the pinConfiguration
constructor. The pinConfiguration constructor provides methods for changing
the background and border colors, glyph text and color, altitude, image to be
used, and more options for additional customization.
The following code sample shows how to create a new marker and style it using some of the available customization options:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
backgroundColor = Color.GREEN
borderColor = Color.GREEN
glyph = Glyph.fromColor(Color.RED)
}
}
)
This page shows you how to customize markers in the following ways:
- Scale the marker
- Change the background color
- Change the border color
- Add text to a glyph
- Use an image as a marker
- Remove markers
Scale the marker
To scale a marker, use the scale option:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
scale = 3.14
}
}
)
Change the background color
Use the PinElement.background option to change the background color of a
marker during construction:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
backgroundColor = Color.GREEN
}
}
)
Change the border color
Use the markerOptions.borderColor option to change the border color of a
marker during contstruction:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
borderColor = Color.GREEN
}
}
)
Add text to a glyph
Use the markerOptions.glyph method to replace the default glyph with a text
character. The text glyph of the marker scales with the marker:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
glyph = Glyph.fromText("G")
}
}
)
Use an image as a marker
Map.addMarker(markerOptions {
position = latLngAltitude {
latitude = 40.7484
longitude = -73.9857
altitude = 100.0
}
zIndex = 1
label = "Empire State Building"
isExtruded = true
isDrawnWhenOccluded = true
altitudeMode = AltitudeMode.RELATIVE_TO_MESH
setStyle(ImageView(R.drawable.ook))
})
Remove markers
Use Marker.remove() to remove markers from the map:
marker.remove();