fluttercommunity/arcgis_map_sdk

[mobile] Implement vector tile caching

JulianBissekkou opened this issue · 5 comments

Loaded map data is not cached on mobile.
If a user uses the Map on Screen A and opens the same map on Screen B he has to load again for the map to load all the zoom levels that were visible before.

I opened a thread in the community forum, but I would like to solve the issue in an easier way.
They suggested ExportVectorTilesJob but I just want to have a simple cache that holds the tiles that were loaded previously.
https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/caching-vector-tile-layer-data-not-possible/m-p/1213585#M5846

@MatthaiosSait Do you have this use case/issue on web as well?

We don't use Vector Tiles in production, so we haven't faced something like this.
If you attack this issue, we could build it into the example app. Or in an integration test. So that we can also see if this pops up in the web implementation.
Solving it with cache sounds like a good idea

I pushed a branch with an example and I will do some experiments today.
Here is a video of the example where we would like to have caching:

Screen.Recording.2022-12-08.at.10.12.24.mov

I quickly tested this on web and it was the same "problem".

Update: Got basic "caching" working on iOS. But we are far away from being efficient...

Screen.Recording.2022-12-08.at.14.32.15.mov

Closing as this is not an option with the current apis that we have.
We got an official response from esri that this is not supported.

We tried multiple workarounds but none of them are acceptable.
Feel free to reopen if this is something that you want to discuss.