mapbox / mapbox/mapbox-maps-flutter

iOS App Crashing When Loading RasterLayer

Offen
#718 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Dart
Sterne
380
Forks
204
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I'm trying to show a heatmap in my Flutter app with the help of RasterSource/Layers. It was working fine in 0.5.0 but after migrating to 2.3.0 it started crashing on iOS. The error thrown in xCode is:

Generate Mipmaps For Texture Validation [tex mipmapLevelCount](1) must be > 1

After some investigation I found that there is an issue when the loaded tiles have a size of 1x1. This is also confirmed in one of the comments on this StackOverflow post .

This is the code I'm using in Flutter just in case.

await style.addSource(
      RasterSource(
        id: 'overall_heatmap',
        tiles: heatmap.tiles,
        tileSize: 256,
        scheme: Scheme.XYZ,
        minzoom: heatmap.minZoom,
        maxzoom: heatmap.maxZoom,
        bounds: heatmap.bounds,
      ),
    );

    await style.addLayer(
      RasterLayer(
        id: 'heatmap',
        sourceId: 'overall_heatmap',
        rasterResampling: RasterResampling.LINEAR,
      ),
    );

And this is my Flutter doctor result:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.3, on macOS 14.6.1 23G93 darwin-arm64, locale en-CO)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] Connected device (4 available)            
[✓] Network resources

• No issues found!

Thanks in advance for any help you can provide!

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Absturz mit der bereitgestellten RasterSource- und RasterLayer-Konfiguration unter iOS zu reproduzieren, wobei der Fokus auf einem geladenen Raster-Tile der Größe 1x1 liegt. Verfolge dann die native Verarbeitung von Rastertexturen oder Mipmaps, die von dieser Flutter-Integration verwendet wird; abgeschlossen ist die Aufgabe, wenn die Konfiguration beim Laden eines solchen Tiles nicht mehr abstürzt und die Regression durch einen geeigneten Test abgedeckt ist, sofern das Repository einen solchen bereitstellt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
dart, flutter, ios
Bereich
mobile-dev
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.