finds.dev← search

// the find

tangrams/tangram-es

★ 873 · C++ · MIT · updated Jan 2024

2D and 3D map renderer using OpenGL ES

Tangram ES is a C++ OpenGL ES map renderer that handles both 2D and 3D vector tile maps across Android, iOS, desktop, and even Raspberry Pi from a single codebase. It was built by Mapzen as the native counterpart to their web-based Tangram renderer, sharing the same YAML scene format. If you need a cross-platform, embeddable map renderer that isn't Mapbox GL, this is one of the few serious options.

The cross-platform story is genuinely well-executed — one C++ core, platform shims per target, and CI covering all of them. Embedding duktape for style evaluation is a smart call: it means Tangram scene YAML files work identically on native and web without a separate style compiler. The dependency choices (earcut for tessellation, geojson-vt-cpp for tile slicing) are the right libraries for this problem. Indic script support via alfons is a real differentiator — most open-source map renderers treat non-Latin text as an afterthought.

Mapzen shut down in 2018 and the documentation links in the README point to mapzen.com, which is gone. You are adopting an orphaned ecosystem: the tile provider, the style docs, and the Gitter community are all dead. Running JS through duktape for every style property evaluation is a performance trap in complex scenes — there is no JIT and the overhead compounds with feature density. The Linux Foundation stewardship sounds reassuring until you notice 873 stars and a January 2024 last push; this is maintained in the sense that it is not archived, not in the sense that anyone is actively developing it. You will also need to bring your own tile source, which means either paying for a commercial provider or running your own tile server.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →