Mengonfigurasi perilaku penanda saat tumpang-tindih

Pilih platform: Android iOS JavaScript

Anda dapat menentukan perilaku penanda saat tumpang-tindih dengan penanda atau label peta lain dengan menetapkan properti collisionBehavior ke salah satu nilai berikut:

  • REQUIRED: Penanda harus selalu ditampilkan terlepas dari tumpang-tindih yang terjadi.
  • REQUIRED_AND_HIDES_OPTIONAL: Penanda harus selalu ditampilkan terlepas dari tumpang-tindih yang terjadi. Penanda dengan OPTIONAL_AND_HIDES_LOWER_PRIORITYperilaku tabrakan r label peta default yang tumpang-tindih dengan penanda ini akan disembunyikan.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: Penanda hanya boleh ditampilkan jika tidak tumpang-tindih dengan penanda lain. Jika dua penanda dengan jenis ini akan tumpang-tindih, penanda dengan urutan gambar yang lebih tinggi akan ditampilkan. Jika memiliki urutan gambar yang sama, penanda dengan posisi layar vertikal yang lebih rendah akan ditampilkan.

Contoh kode berikut menunjukkan setiap nilai perilaku tabrakan. Untuk menggunakan contoh kode ini, ikuti petunjuk di Penyiapan dan Menambahkan peta 3D ke aplikasi Anda untuk menyiapkan project Android Studio dengan peta 3D dasar. Kemudian, tambahkan kode berikut ke file 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
})