توضّح لك هذه الصفحة كيفية إدارة التعارضات بين العلامات التي تضيفها. على الخريطة والتسميات الافتراضية، مثل نقاط الاهتمام أو الشوارع الأسماء.
قبل البدء
لإدارة تضارب العلامات والتصنيفات، يجب استخدام معرّف الخريطة.
إذا كنت تستخدم صورة نقطية لخريطة من خلال الوضع البسيط، لا يمكنك إدارة تضارب العلامات والتصنيفات.تحديد أولويات العلامات
استخدِم 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);