Puedes personalizar el comportamiento de colisión de los marcadores que agregues a un mapa en 3D.
En la siguiente muestra de código, se indica cómo configurar la propiedad collisionBehavior de un objeto Marker3D para especificar cómo debe comportarse un marcador si se superpone con otro o con una etiqueta del mapa.
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"
)
}