mapbox / mapbox/mapbox-maps-flutter
TransparentPointer fail
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
I'm trying to switch from using the flutter-mapbox-gl plugin to this one, and I ran into an issue...
I'm using a transparent pointer over the map, in a Stack widget, so I can turn off some automated panning and zooming if the user starts interacting with the map; I'm interpreting gestures as pans, zooms, and rotates, and also letting the gestures bubble through to the map. This works fine with that other mapbox plugin, but with this one I get:
I/flutter ( 8823): ⚠️ Unhandled Flutter error: 'package:flutter/src/gestures/tap.dart': Failed assertion: line 210 pos 14: '_down == null && _up == null': is not true.
======== Exception caught by gesture library =======================================================
The following assertion was thrown while dispatching a pointer event:
'package:flutter/src/gestures/tap.dart': Failed assertion: line 210 pos 14: '_down == null && _up == null': is not true.
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
When the exception was thrown, this was the stack:
#2 BaseTapGestureRecognizer.addAllowedPointer (package:flutter/src/gestures/tap.dart:210:14)
#3 GestureRecognizer.addPointer (package:flutter/src/gestures/recognizer.dart:160:7)
#4 RawGestureDetectorState._handlePointerDown (package:flutter/src/widgets/gesture_detector.dart:1498:18)
#5 RenderPointerListener.handleEvent (package:flutter/src/rendering/proxy_box.dart:3168:29)
#6 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:440:22)
#7 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:336:11)
#8 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:395:7)
#9 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:357:5)
#10 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:314:7)
#11 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:295:7)
#12 _invoke1 (dart:ui/hooks.dart:164:13)
#13 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:361:7)
#14 _dispatchPointerDataPacket (dart:ui/hooks.dart:91:31)
(elided 2 frames from class _AssertionError)
Event: PointerDownEvent#85236(position: Offset(222.0, 753.2))
position: Offset(222.0, 753.2)
Target: RenderPointerListener#00676 relayoutBoundary=up8
parentData: <none> (can use size)
constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=819.4)
size: Size(411.4, 819.4)
behavior: deferToChild
listeners: down, panZoomStart
Is there a way to make this work?
Alternatively, is there a way to listen for user initiated zooms, pans, and rotates with this package?
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 riproducendo l’assertion con transparent_pointer sopra la mappa in uno Stack, usando i callback dei gesti mostrati nel report. Leggi lo stack dei gesti di Flutter attorno a tap.dart, gesture_detector.dart e agli entry point dei gesti del package della mappa; il lavoro è completato quando l’interazione non genera più un’assertion e i gesti di pan, zoom e rotazione avviati dall’utente possono essere distinti o documentati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- dart, flutter
- Ambito
- mobile
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100