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