Git Product home page Git Product logo

Comments (7)

greensopinion avatar greensopinion commented on September 26, 2024 1

Thanks, I see. About other great vector-supported JS-based mapping libraries you've mentioned: can they be used in Flutter with flutter_map package?

Not that I'm aware of.

As an alternative you could consider using flutter_map with raster tiles for web, and vector tiles for other platforms.

from flutter-vector-map-tiles.

greensopinion avatar greensopinion commented on September 26, 2024

Web support is not planned, mainly because some great existing web mapping libraries exist that are more feature complete and almost certainly perform better. If you're interested in an open source library, maplibre-gl-js may be of interest.

The main issue with web is broken rendering, see dart-vector-tile-renderer/issues/7
To bring this library to the web we would also need to change caching so that it's not disk-dependent.

If you're interested in helping to drive the effort to bring this to the web, feel free to engage on https://github.com/greensopinion/dart-vector-tile-renderer to address the rendering problem. If that's fixed, it may be relatively easy to accommodate the web platform here.

from flutter-vector-map-tiles.

alkaitagi avatar alkaitagi commented on September 26, 2024

Thanks, I see. About other great vector-supported JS-based mapping libraries you've mentioned: can they be used in Flutter with flutter_map package? The package is crucial for me because I use widgets as markers (merely using static .png or text is not enough).

from flutter-vector-map-tiles.

eliabieri avatar eliabieri commented on September 26, 2024

@greensopinion Now that dart-vector-tile-renderer seems to support Web, what are the parts missing in this package to introduce support for web?
Is it only the caching backend that needs to be adapted?

from flutter-vector-map-tiles.

greensopinion avatar greensopinion commented on September 26, 2024

We've experimented with it before, but performance was not even close to where it needs to be. See #77

from flutter-vector-map-tiles.

coogle avatar coogle commented on September 26, 2024

This seems like a serious limitation here...

I'd be interested in looking into this, as it seems the only problem here is caching at this point? I looked at #77 a bit but I'm not familiar entirely with the architecture you've got going on here.

It seems to me you could pretty easily (at least conceptually) use something like IndexedDb for this sort of caching rather than insisting on a filesystem-based approach. For us we're actually implementing an entire virtual file system on top of IndexedDb to store SQLite databases which then can get treated like real files by a Sqlite WASM build... see:

https://github.com/simolus3/sqlite3.dart/blob/main/sqlite3/lib/src/wasm/vfs/indexed_db.dart

Could you help me out understanding this a bit and maybe I could help write some code? Looking in the repository it wasn't immediately clear what all the various classes do and why for example there was both a ByteStorage and StorageCache class?

Ultimately what seems like the best answer here is to find a way to make the cache key a simple string that can read/write to any backend storage system? It seems okay if implementation wise it's really directory and filename as long as you can abstract it so that for IndexedDb it just concats the string together for the full key name ..

from flutter-vector-map-tiles.

greensopinion avatar greensopinion commented on September 26, 2024

Until web performance is solved, there is no point working on web support.
As a workaround it's possible to use a raster layer on web, and vectors on other platforms.

from flutter-vector-map-tiles.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.