Vector Tiles Rendering – Render Vector Tiles to PNG on Android & iOS

androidgoogle-maps-apiiosvector-tiles

I have an Android + iOS app using Google Maps SDKs to display a map, and I'm in the process of setting up an OSM tile server.

I'm evaluating the possibility to use vector tiles instead of raster, but replacing Google Maps SDK isn't an option.

So, I'd like to know if it's possible to render a vector tile on Android & iOS to an image? Would Mapbox GL native C++ SDK allow me to do that with .mvt tiles? If not, is there another option?

Best Answer

For Android, we looked into this a few years ago (circa 2014):

https://github.com/CUTR-at-USF/OpenTripPlanner-for-Android/issues/356

We ended up just using raster tiles, but we were looking at the below tools to potentially do vector rendering at that time:

From some quick Googling, I found the below library too (and there are likely more):

Note that Mapzen shut down at the beginning of this year, but according to:

https://mapzen.com/blog/migration/

...they recommend the following for vector tiles and basemaps:

For basemaps and vector tiles, you may want to consider:

Long-term support for Vector Tiles is available via Nextzen through 2018 supported by Amazon Web Services, thanks to an award from the Earth on AWS Cloud Credits for Research Program. This includes hosted versions of Tangram JS and the map styles. The vector tile data is an archived December 2017 global build available in a requestor pays S3 bucket with associated serverless software.

Terrain Tiles will continue to be available as an Amazon Public Dataset.

Mapzen Vector Tiles and Cartography are based on the Tangram and Tilezen open-source projects. Read below for information on how to run these services locally.

Tangram scene files saved in a Tangram Play account can be saved to a GitHub Gist or downloaded locally, while Mapzen services are still running.