ضبط سلوك تصادم العلامات

اختيار النظام الأساسي: Android iOS JavaScript

يمكنك تحديد طريقة عمل العلامة عند تعارضها مع علامة أخرى أو تصنيف خريطة من خلال ضبط السمة collisionBehavior على إحدى القيم التالية:

  • REQUIRED: يجب عرض العلامة دائمًا بغض النظر عن حالات التعارض.
  • REQUIRED_AND_HIDES_OPTIONAL: يجب عرض العلامة دائمًا بغض النظر عن أي تداخلات. سيتم إخفاء العلامات التي تتضمّن سلوك OPTIONAL_AND_HIDES_LOWER_PRIORITY تعارض أو تصنيفات الخريطة التلقائية التي تتداخل مع هذه العلامة.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: يجب ألا يتم عرض العلامة إلا إذا كانت لا تتداخل مع علامات أخرى. إذا تداخلت علامتان من هذا النوع، سيتم عرض العلامة ذات ترتيب العرض الأعلى. إذا كان ترتيب العرض هو نفسه، سيتم عرض العنصر الذي يقع في موضع أدنى على الشاشة.

يوضّح نموذج الرمز التالي كل قيمة من قيم سلوك التعارض. لاستخدام نموذج الرمز البرمجي هذا، اتّبِع التعليمات الواردة في الإعداد وإضافة خريطة ثلاثية الأبعاد إلى تطبيقك لإعداد مشروعك على Android Studio باستخدام خريطة ثلاثية الأبعاد أساسية. بعد ذلك، أضِف الرمز التالي إلى ملف MainActivity.kt:

// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude

...

// Marker 1: REQUIRED
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.52027645136134
        longitude = 13.408271658592406
        altitude = 0.0
    }
    label = "Collision Behavior: REQUIRED"
    altitudeMode = AltitudeMode.CLAMP_TO_GROUND
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.REQUIRED
})

// Marker 2: REQUIRED_AND_HIDES_OPTIONAL
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.519605780912585
        longitude = 13.406867190588198
        altitude = 150.0
    }
    label = "Colliding Behavior: REQUIRED_AND_HIDES_OPTIONAL"
    altitudeMode = AltitudeMode.ABSOLUTE
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
})

// Marker 3: OPTIONAL_AND_HIDES_LOWER_PRIORITY
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.519882191069016
        longitude = 13.407410777254293
        altitude = 50.0
    }
    label = "Colliding Behavior: OPTIONAL_AND_HIDES_LOWER_PRIORITY"
    altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY
})