يمكنك تحديد طريقة عمل العلامة عند تعارضها مع علامة أخرى أو تصنيف خريطة من خلال ضبط السمة 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 })