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