Sie können das Konfliktverhalten von Markierungen anpassen, die Sie einer 3D-Karte hinzufügen.
Das folgende Codebeispiel zeigt, wie Sie das
collisionBehavior
eines Marker3D konfigurieren, um festzulegen, wie sich eine Markierung verhalten soll, wenn sie sich
mit einer anderen Markierung oder einem Kartenlabel überschneidet.
Map(camera: $camera, mode: .hybrid) {
Marker3D(
position: .init(
latitude: 37.794724,
longitude: -122.39442,
altitude: 100.0),
altitudeMode: .relativeToMesh,
collisionBehavior: .optionalAndHidesLowerPriority,
extruded: true,
label: "Marker 1"
)
Marker3D(
position: .init(
latitude: 37.7943220,
longitude: -122.395073,
altitude: 100.0),
altitudeMode: .relativeToMesh,
collisionBehavior: .required,
extruded: true,
label: "Marker 2"
)
Marker3D(
position: .init(
latitude: 37.7934108,
longitude: -122.396144,
altitude: 100.0),
altitudeMode: .relativeToMesh,
collisionBehavior: .requiredAndHidesOptional,
extruded: true,
label: "Marker 3"
)
}