التحكّم في سلوك التصادم

اختيار النظام الأساسي: 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);