رفتار برخورد را کنترل کنید

پلتفرم مورد نظر را انتخاب کنید: اندروید، iOS، جاوا اسکریپت

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

برای تنظیم رفتار برخورد، 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 به هم پیوند دهید.

نمونه کد زیر تنظیم رفتار برخورد برای یک برچسب (label) جدا از یک نشانگر (marker) را نشان می‌دهد:

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