GEOSwift (GeoJson) - Afficher les MKAnnotation d'un même point

Suite au cours 11.2 Maîtriser la création d’apps iPhone / Chapitre 4.5 BusBus / Regrouper les annotations

J’utilise les données de la communauté urbaine pour tester : https://data.iledefrance.fr/explore/dataset/arrets-par-lignes-de-transport-en-commun-en-ile-de-france/
PS: je ne prends que CSO sinon il y a plus de 70 000 points !!!

Je voudrais regrouper les BusStop non par StopType (car je n’ai pas de “mobilier”) mais par nom (et/ou numéro) de ligne de bus que j’appelle routeNumber (routeName dans l’exemple du cours).

Le problème c’est que sur un même endroit (coordonnées GPS identique), je n’arrive pas à passer d’une PIN à une autre car je peux en avoir 2 ou 3 parfois (même arrêt pour plusieurs lignes de bus). J’ai utilisé clusteringIdentifier = busStop.routeNumber

Voici mon BusStop.swift :

class BusStop: MKPointAnnotation {
    
    let routeNumber : String
    
    init? (feature:Feature) {  //Feature GEOSwift
        guard let point = feature.geometries?.first as? Waypoint,  //type Geometry dans le GEOJson créé un tableau geometries dans GEOSwift
            let properties = feature.properties,
            let stopName = properties["stop_name"] as? String,
            let routeName = properties["route_long_name"] as? String,
            let agency = properties["agency_name"] as? String
            else { return nil }

        routeNumber = routeName

        super.init()
        self.title = stopName
        self.subtitle = "Ligne : \(routeName) / Agence : \(agency)"
        self.coordinate = CLLocationCoordinate2DFromCoordinate(point.coordinate)
    }
}

et voici mon BusStopAnnotationView.swift

import MapKit
class busStopAnnotationView: MKMarkerAnnotationView {
    override var annotation: MKAnnotation? {
        willSet {
            if let busStop = newValue as? BusStop {
                clusteringIdentifier = busStop.routeNumber
                    markerTintColor = UIColor.red.withAlphaComponent(0.5)
                    glyphText = "🚏"
            }
        }
    }
}