کنترل رفتار تصادم

پلاتفرم را انتخاب کنید: Android iOS JavaScript

این صفحه نحوه تنظیم رفتار تصادم را برای نشانگر نشان می‌دهد. رفتار تصادم کنترل می‌کند که اگر نشانگری با نشانگر دیگری تصادم (هم‌پوشانی) داشته باشد، چگونه نمایش داده شود.

برای تنظیم رفتار تصادم، collisionBehavior را روی یکی از موارد زیر تنظیم کنید:

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

مثال زیر تنظیم رفتار تصادم را برای نشانگر نشان می‌دهد:

const marker = new Marker3DElement({
    position: { lat, lng },
    // Try setting a different collision behavior here.
    collisionBehavior: 'REQUIRED',
});

کنترل رفتار تصادم برچسب

می‌توانید رفتار تصادم سنجاق و نوشتار برچسب نشانگر را به‌طور جداگانه کنترل کنید. در برخی موارد، ممکن است مفید باشد که برچسب‌ها را پنهان کنید درحالی‌که سنجاق‌های نشانگر را روی صفحه نمایان نگه دارید تا بافت حفظ شود. برای انجام این کار، عنصر <gmp-label-3d> را به‌عنوان هم‌نیا <gmp-marker-3d> اضافه کنید و آن‌ها را بااستفاده از مشخصه for پیوند دهید.

نمونه کد زیر نحوه تنظیم رفتار تصادم برای برچسب را به‌طور جداگانه از نشانگر نشان می‌دهد:

const markerWithIndependentLabel = new Marker3DElement({
    position: { lat: 37.423, lng: -122.015 },
});
markerWithIndependentLabel.id = 'marker-1';
const label = new Label3DElement({
    collisionBehavior: CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY,
    for: 'marker-1',
});
label.append('Independent label example');
map.append(markerWithIndependentLabel);
map.append(label);