يمكنك تحديد طريقة تصرّف العلامة عندما تصطدم بعلامة أخرى
أو بتصنيف خريطة من خلال ضبط السمة
collisionBehavior
على إحدى القيم التالية:
REQUIRED: يجب دائمًا عرض العلامة بغض النظر عن الاصطدامات.REQUIRED_AND_HIDES_OPTIONAL: يجب دائمًا عرض العلامة بغض النظر عن الاصطدامات. سيتم إخفاء العلامات التي تتضمّن سلوك الاصطدامOPTIONAL_AND_HIDES_LOWER_PRIORITYأو تصنيفات الخريطة التلقائية التي تتداخل مع هذه العلامة.OPTIONAL_AND_HIDES_LOWER_PRIORITY: يجب عرض العلامة فقط إذا لم تتداخل مع علامات أخرى. إذا كان من المفترض أن تتداخل علامتان من هذا النوع، يتم عرض العلامة التي تتضمّن ترتيب الرسم الأعلى. إذا كان ترتيب الرسم هو نفسه، يتم عرض العلامة التي تتضمّن موضع الشاشة العمودي الأدنى.
توضح عينة التعليمات البرمجية التالية كل قيمة من قيم سلوك الاصطدام. لاستخدام عينة الرمز البرمجي هذه، اتّبِع التعليمات الواردة في
إعداد وإضافة خريطة ثلاثية الأبعاد إلى تطبيقك لإعداد مشروع استوديو Android باستخدام خريطة ثلاثية الأبعاد أساسية. بعد ذلك، أضِف الرمز البرمجي التالي إلى ملف 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
})