אתם יכולים להתאים אישית את אופן ההתנגשות של סמנים שאתם מוסיפים למפה תלת-ממדית.
בדוגמת הקוד הבאה מוצג איך להגדיר את collisionBehavior של מבנה הנתונים Marker כדי לציין איך סמן צריך להתנהג כשהוא מתנגש עם סמן אחר או עם תווית של מפה.
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"
)
}