إدارة العلامات والتصنيفات وتعارض نقاط الاهتمام

توضّح لك هذه الصفحة كيفية إدارة التداخلات بين العلامات التي تضيفها إلى خريطتك والتصنيفات التلقائية، مثل نقاط الاهتمام (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

// 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("Failed 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);