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