मार्कर कोलिज़न के व्यवहार को कॉन्फ़िगर करना

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

किसी मार्कर के किसी दूसरे मार्कर या मैप लेबल से टकराने पर, उसके व्यवहार के बारे में बताया जा सकता है. इसके लिए, 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
})