Comments (7)
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.
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.
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.
@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.
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.
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.
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)
- Differences in Styles for Mapbox.
- Update flutter_map dependency to 6.1.x HOT 4
- Web support HOT 1
- Question about working with tile server.
- [StyleReader] Converting JSON into a Style HOT 7
- DEpendency problems when upgrading to 6.0.2 HOT 2
- display with rotation is not the same between vector and raster modes in version 7.0.0 HOT 3
- is expressmaps supported? HOT 1
- Package available for web? HOT 2
- Raster Tiles Usage HOT 1
- would something like https://github.com/fleaflet/flutter_map_cancellable_tile_provider help in performance HOT 1
- very low performance HOT 1
- Override background color of VectorTileLayer HOT 1
- Google maps support - Issue HOT 3
- Can't display pg_tileserv and postgis tiles HOT 1
- How to rotate and zoom the map like a native map experience
- Raster mode tile cancellation HOT 1
- new version available HOT 2
- providers.isNotEmpty error
- Blurred and Overly-Shadowed Sprites
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter-vector-map-tiles.