مدیریت نشانگرها، برچسب‌ها، و تداخل‌های نقطه موردعلاقه

این صفحه به شما نشان می‌دهد که چگونه تداخل بین نشانگرهایی را که به نقشه‌تان اضافه می‌کنید و برچسب‌های پیش‌فرض، مانند نقاط موردعلاقه (POI) یا نام خیابان‌ها، مدیریت کنید.

قبل‌از شروع

برای مدیریت تداخل نشانگر و برچسب، باید از شناسه نقشه استفاده کنید.

اگر از تصویر نقشه بیتی نقشه ازطریق حالت Lite استفاده می‌کنید، نمی‌توانید تداخل نشانگر و برچسب را مدیریت کنید.

درحال مشخص کردن اولویت‌های نشانگر

از Marker استفاده کنید.CollisionBehavior برای مشخص کردن اولویت در نشانگر.

از یکی‌از مقدارهای زیر استفاده کنید:

  • ‫REQUIRED - پیش‌فرض. نیاز به نمایش نشانگری دارد که با نشانگرها، برچسب‌ها، و نقاط جالب دیگر هم‌پوشانی دارد.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY - نشان می‌دهد که نشانگر ممکن است با نشانگر الزامی جایگزین شود یا با آن هم‌پوشانی داشته باشد، یا با نشانگر OPTIONAL_AND_HIDES_LOWER_PRIORITY با اولویت بالاتر جایگزین شود. از zIndex برای کمک به تعیین اولویت نسبی بین نشانگرهای OPTIONAL_AND_HIDES_LOWER_PRIORITY استفاده کنید. مقدار zIndex بالاتر نشان‌دهنده اولویت بالاتر است.
  • REQUIRED_AND_HIDES_OPTIONAL - Requires display of a marker while hiding any OPTIONAL_AND_HIDES_LOWER_PRIORITY markers, labels, or POIs that overlap with the marker. ممکن است نشانگر با نشانگرهای الزامی دیگر هم‌پوشانی داشته باشد.

نمونه کد زیر تنظیم 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);