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

توضّح لك هذه الصفحة كيفية إدارة التعارضات بين العلامات التي تضيفها. على الخريطة والتسميات الافتراضية، مثل نقاط الاهتمام أو الشوارع الأسماء.

قبل البدء

لإدارة تضارب العلامات والتصنيفات، يجب استخدام معرّف الخريطة.

إذا كنت تستخدم صورة نقطية لخريطة من خلال الوضع البسيط، لا يمكنك إدارة تضارب العلامات والتصنيفات.

تحديد أولويات العلامات

استخدِم 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);