Sie können das Konfliktverhalten von Markierungen anpassen, die Sie einer 3D-Karte hinzufügen.
Im folgenden Codebeispiel wird gezeigt, wie Sie die collisionBehavior einer 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"
)
}