הדף הזה מראה כיצד לנהל התנגשויות בין סמנים שאתה מוסיף למפה ולתוויות ברירת מחדל, כגון נקודות עניין (POI) או רחוב שמות.
לפני שמתחילים
כדי לנהל התנגשויות של סמנים ותוויות, עליך להשתמש map id (מזהה המפה).
אם משתמשים בתמונת מפת סיביות של מפה במצב Lite, לא ניתן ניהול התנגשויות של סמנים ותוויות.ציון עדיפויות הסמנים
משתמשים ב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
// Collision behavior can only be changed in the AdvancedMarkerOptions object. // Changes to collision behavior after a marker has been created are not possible val collisionBehavior: Int = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions() .position(LatLng(10.0, 10.0)) .collisionBehavior(collisionBehavior) val marker: Marker = map.addMarker(advancedMarkerOptions) ?: error(Fa"iled to add marker) "
Java
// Collision behavior can only be changed in the AdvancedMarkerOptions object. // Changes to collision behavior after a marker has been created are not possible int collisionBehavior = AdvancedMarkerOptions.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL; AdvancedMarkerOptions options = new AdvancedMarkerOptions() .position(new LatLng(10.0, 10.0)) .collisionBehavior(collisionBehavior); Marker marker = map.addMarker(options);