Zarządzanie znacznikami, etykietami i konfliktami z miejscami

Na tej stronie opisujemy, jak zarządzać konfliktami między znacznikami dodawanymi do mapy a etykietami domyślnymi, takimi jak ciekawe miejsca czy nazwy ulic.

Zanim zaczniesz

Aby zarządzać konfliktami znaczników i etykiet, musisz używać identyfikatora mapy.

Jeśli używasz bitmapy mapy w wersji uproszczonej, nie możesz zarządzać konfliktami znaczników i etykiet.

Określanie priorytetów znaczników

Użyj formularza Marker.CollisionBehavior, aby określić priorytet znacznika.

Użyj jednej z tych wartości:

  • REQUIRED – wartość domyślna. Wymaga wyświetlenia znacznika, który nakłada się z innymi znacznikami, etykietami i ciekawymi miejscami.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY – wskazuje, że znacznik może zostać zastąpiony wymaganym znacznikiem albo zostać zastąpiony znacznikiem OPTIONAL_AND_HIDES_LOWER_PRIORITY o wyższym priorytecie. Atrybut zIndex pomaga określić względny priorytet między znacznikami OPTIONAL_AND_HIDES_LOWER_PRIORITY. Wyższa wartość zIndex oznacza wyższy priorytet.
  • REQUIRED_AND_HIDES_OPTIONAL – wymagane jest wyświetlenie znacznika oraz ukrywania znaczników OPTIONAL_AND_HIDES_LOWER_PRIORITY, etykiet i ciekawych miejsc, które się z nim nakładają. Znacznik może się pokrywać z innymi wymaganymi znacznikami.

Poniższy przykładowy kod przedstawia ustawienie CollisionBehavior nowego znacznika:

Kotlin



val marker = map.addMarker(
    MarkerOptions()
        .position(LatLng(10.0, 10.0))
        .zIndex(10f) // Optional.
        .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY)
)

      

Java


Marker marker = map.addMarker(
    new MarkerOptions()
        .position(new LatLng(10, 10))
        .zIndex(10) // Optional.
        .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY));