Wygląd markerów możesz dostosować za pomocą konstruktora pinConfiguration. Konstruktor pinConfiguration udostępnia metody zmiany koloru tła i obramowania, tekstu i koloru glifu, wysokości, obrazu do użycia oraz innych opcji dodatkowego dostosowywania.
Poniższy przykładowy kod pokazuje, jak utworzyć nowy znacznik i dostosować go za pomocą niektórych dostępnych opcji:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
backgroundColor = Color.GREEN
borderColor = Color.GREEN
glyph = Glyph.fromColor(Color.RED)
}
}
)
Na tej stronie dowiesz się, jak dostosowywać znaczniki:
- Skalowanie znacznika
- Zmiana koloru tła
- Zmiana koloru obramowania
- Dodawanie tekstu do glifu
- Używanie obrazu jako znacznika
- Usuwanie znaczników
Skalowanie znacznika
Aby przeskalować znacznik, użyj opcji scale:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
scale = 3.14
}
}
)
Zmiana koloru tła
Aby zmienić kolor tła znacznika podczas tworzenia, użyj opcji PinElement.background:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
backgroundColor = Color.GREEN
}
}
)
Zmiana koloru obramowania
Aby zmienić kolor obramowania znacznika podczas tworzenia, użyj opcji markerOptions.borderColor:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
borderColor = Color.GREEN
}
}
)
Dodawanie tekstu do glifu
Użyj metody markerOptions.glyph, aby zastąpić domyślny znak glifu znakiem tekstowym. Glif tekstowy znacznika jest skalowany wraz ze znacznikiem:
map.addMarker(
markerOptions {
position = sanFrancisco
style = pinConfiguration {
glyph = Glyph.fromText("G")
}
}
)
Używanie obrazu jako znacznika
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))
})
Usuwanie znaczników
Aby usunąć znaczniki z mapy:Marker.remove()
marker.remove();