mapbox / mapbox/mapbox-maps-flutter

Only First annotation is being returned from Annotation tap detection

Aperta
#376 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Dart
Stelle
380
Fork
204
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

@evil159

extension AnnotationController: AnnotationInteractionDelegate {
    func annotationManager(_ manager: AnnotationManager, didDetectTappedAnnotations annotations: [Annotation]) {
        let annotation = annotations.first
        switch annotation {
        case let annotation as PointAnnotation:
            self.onPointAnnotationClickListener?.onPointAnnotationClick(annotation.toFLTPointAnnotation(), completion: {_ in })
        case let annotation as CircleAnnotation:
            self.onCircleAnnotationClickListener?.onCircleAnnotationClick(annotation.toFLTCircleAnnotation(), completion: {_ in })
        case let annotation as PolygonAnnotation:
            self.onPolygonAnnotationClickListener?.onPolygonAnnotationClick(annotation.toFLTPolygonAnnotation(), completion: {_ in })
        case let annotation as PolylineAnnotation:
            self.onPolylineAnnotationClickListener?.onPolylineAnnotationClick(annotation.toFLTPolylineAnnotation(), completion: {_ in })
        default:
            print("Can't detemine the type of annotation: \(annotation)")
        }
    }
}

On native side the code is returning only first annotation from list of annotations which were detected on Tap didDetectTappedAnnotations

Few clarifications and concerns:

1- Why not return all annotations ?
2- What is tap detect accuracy ? is based on point on Screen Box ?
3- when returning the first annotation from list of annotations, is the list already sorted by annotation sort key ? If Yes, is it ASC or DESC ?

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal delegate annotationManager(_:didDetectTappedAnnotations:) di AnnotationController mostrato nell’issue e traccia il percorso del risultato nativo del tap fino a Flutter. Determina se vengono esposte tutte le annotazioni rilevate e il loro ordine, insieme alla precisione del rilevamento del tap, quindi aggiungi o aggiorna la coverage e la documentazione in modo che il comportamento restituito sia esplicito.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
dart, flutter
Ambito
mobile
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.