किसी मार्कर के किसी दूसरे मार्कर या मैप लेबल से टकराने पर, उसके व्यवहार के बारे में बताया जा सकता है. इसके लिए, collisionBehavior
प्रॉपर्टी को इनमें से किसी एक वैल्यू पर सेट करें:
REQUIRED
: मार्कर हमेशा दिखना चाहिए, भले ही कोई अन्य मार्कर उससे ओवरलैप हो रहा हो.REQUIRED_AND_HIDES_OPTIONAL
: मार्कर हमेशा दिखना चाहिए, भले ही कोई टकराव न हुआ हो.OPTIONAL_AND_HIDES_LOWER_PRIORITY
के साथ मार्कर के टकराव का व्यवहार या इस मार्कर के साथ ओवरलैप होने वाले डिफ़ॉल्ट मैप लेबल छिप जाएंगे.OPTIONAL_AND_HIDES_LOWER_PRIORITY
: मार्कर सिर्फ़ तब दिखाया जाना चाहिए, जब वह दूसरे मार्कर से ओवरलैप न हो. अगर इस तरह के दो मार्कर ओवरलैप होते हैं, तो ज़्यादा ड्रॉ ऑर्डर वाला मार्कर दिखाया जाता है. अगर उनके ड्रॉ का क्रम एक जैसा है, तो स्क्रीन पर सबसे नीचे दिखने वाले आइटम को दिखाया जाता है.
नीचे दिए गए कोड के सैंपल में, टक्कर के व्यवहार की हर वैल्यू दिखाई गई है. इस कोड सैंपल का इस्तेमाल करने के लिए, सेटअप और अपने ऐप्लिकेशन में 3D मैप जोड़ें में दिए गए निर्देशों का पालन करें. इससे, Android Studio प्रोजेक्ट को बुनियादी 3D मैप के साथ सेट अप किया जा सकता है. इसके बाद, 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 })