mapbox / mapbox/mapbox-maps-flutter
Only First annotation is being returned from Annotation tap detection
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- 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