Zum ersten Mal flattern Google Maps, laden perfekt, aber wenn es heiß gestartet wird, geht es zur Plattformausnahme
google_maps_flutter: ^ 0.5.21 + 15
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create an already created platform view, view id: 0
Flattern Doktor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Linux, locale en_IN)
• Flutter version 1.12.13+hotfix.5 at /home/asus/Documents/Flutter_SDK/flutter
• Framework revision 27321ebbad (2 weeks ago), 2019-12-10 18:15:01 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /home/asus/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /snap/android-studio/81/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Android Studio (version 3.5)
• Android Studio at /snap/android-studio/81/android-studio
• Flutter plugin version 42.1.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] Connected device (1 available)
• vivo 1723 • 49269ad3 • android-arm64 • Android 9 (API 28)
• No issues found!
android
google-maps
flutter
google-maps-flutter
Lav Kushwaha
quelle
quelle
flutter clean
Kleinbuchstaben sein, wenn jemand es bearbeiten kannIch hatte auch das gleiche Problem und die Verwendung
flutter clean
löste es nicht für mich ( Flatterversion 1.12.13 + Hotfix 8 )Aber dann hat das Hinzufügen eines eindeutigen Schlüssels zum Widget (nicht zu seinem Status) das Problem für mich gelöst.
Beispiel für einen minimalen Arbeitscode, um dies zu demonstrieren.
quelle
GoogleMap()
?Laut API ,
Ich hatte das gleiche Problem und nach einigem Debuggen sieht es so aus, als würde der Fehler angezeigt, wenn Sie während der Ansicht der Karte ein Hotreload durchführen.
Sie können den Fehler jedoch verhindern, wenn Sie nach dem Entsorgen der Karte ein Hot-Reload durchführen.
Mit anderen Worten, es soll verhindern, dass mehrere Instanzen von Karten aktiv sind.
Daher würde ich vorschlagen, die Karte vor dem erneuten Laden während der Entwicklung zu entsorgen.
In einer Produktionsversion können Benutzer kein Hot-Reload durchführen, sodass das Plattformproblem nicht auftritt.
quelle
Das Problem ist auf die Verwendung desselben Controllers in mehreren GoogleMaps-Widgets zurückzuführen. Erstellen Sie nur ein GoogleMap-Widget und verwenden Sie das GoogleMapController-Objekt, um Änderungen vorzunehmen.
quelle
Auf das Problem wird hier verwiesen: https://github.com/flutter/flutter/issues/45695
quelle