مدیریت نشانگرها، برچسب ها و برخوردهای POI

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

قبل از شروع

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

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

تعیین اولویت های نشانگر

از Marker استفاده کنید. ویژگی CollisionBehavior برای تعیین اولویت روی یک نشانگر.

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

  • REQUIRED - پیش فرض. به نمایش نشانگری نیاز دارد که با دیگر نشانگرها، برچسب‌ها و POI همپوشانی داشته باشد.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY - نشان می دهد که نشانگر ممکن است با یک نشانگر مورد نیاز جایگزین یا همپوشانی شود، یا با یک نشانگر OPTIONAL_AND_HIDES_LOWER_PRIORITY با اولویت بالاتر جایگزین شود. از zIndex برای کمک به تعیین اولویت نسبی بین نشانگرهای OPTIONAL_AND_HIDES_LOWER_PRIORITY استفاده کنید. مقدار zIndex بالاتر نشان دهنده اولویت بالاتر است.
  • REQUIRED_AND_HIDES_OPTIONAL - به نمایش یک نشانگر نیاز دارد در حالی که هر نشانگر، برچسب یا POI OPTIONAL_AND_HIDES_LOWER_PRIORITY که با نشانگر همپوشانی دارند پنهان می شود. نشانگر ممکن است با سایر نشانگرهای مورد نیاز همپوشانی داشته باشد.

مثال کد زیر تنظیم CollisionBehavior را برای یک نشانگر جدید نشان می دهد:

کاتلین

// 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);