ניהול סמנים, תוויות והתנגשויות של נקודות עניין

בדף הזה מוסבר איך לנהל התנגשויות בין סמנים שהוספתם למפה לתוויות ברירת המחדל, כמו נקודות עניין (POI) או שמות רחובות.

לפני שמתחילים

כדי לנהל התנגשויות בין סמנים ותוויות, יש להשתמש במזהה מפה.

במקרה שאתם משתמשים בתמונת מפת סיביות של מפה במצב בסיסי, לא תוכלו לנהל התנגשויות של סמנים ותוויות.

ציון עדיפויות של סמנים

שימוש ב-Marker.CollisionBehavior על מנת לציין עדיפות בסמן.

השתמשו באחד מהערכים הבאים:

  • REQUIRED – ברירת מחדל. צריך להציג סמן שחופף לסמנים, לתוויות ולנקודות עניין אחרות.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY – מציין שייתכן שהסמן יוחלף או יחופף בסמן נדרש, או יוחלף בסמן OPTIONAL_AND_HIDES_LOWER_PRIORITY עם עדיפות גבוהה יותר. שימוש ב-zIndex כדי לקבוע עדיפות יחסית בין OPTIONAL_AND_HIDES_LOWER_PRIORITY סמנים. ערך zIndex גבוה יותר מציין עדיפות גבוהה יותר.
  • REQUIRED_AND_HIDES_OPTIONAL – נדרשת הצגה של סמן בהסתרה של כל הסמנים, התוויות או נקודות העניין של OPTIONAL_AND_HIDES_LOWER_PRIORITY שחופפים לסמן. ייתכן שהסמן יחפוף לסמנים נדרשים אחרים.

דוגמת הקוד הבאה מציגה את ההגדרה CollisionBehavior עבור סמן חדש:

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));