別のマーカーや地図ラベルと表示位置が重なった場合の動作を指定するには、collisionBehavior
プロパティを次のいずれかの値に設定します。
REQUIRED
: 他のマーカーと重なっていても常に表示されます。REQUIRED_AND_HIDES_OPTIONAL
: 他のマーカーと重なっていても常に表示されます。OPTIONAL_AND_HIDES_LOWER_PRIORITY
の衝突動作のマーカーや、このマーカーと重複するデフォルトの地図ラベルは非表示になります。OPTIONAL_AND_HIDES_LOWER_PRIORITY
: 他のマーカーと重ならない場合にのみ表示されます。このタイプのマーカー同士が重なった場合、描画順序が大きいほうが表示されます。描画順序が同じ場合は、画面内の縦位置が低いほうが表示されます。
次のコードサンプルは、各衝突動作の値を示しています。このコードサンプルを使用するには、設定とアプリに 3D 地図を追加するの手順に沿って、基本的な 3D 地図を使用して 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 })