Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Most of the question is in the title.

If you are on android (I believe its the same on IOS) and use maps you will notice the quality of the maps app and how the vector maps are drawn in a very fluid manner.

From what I understand, they are delivering vector tiles wich are encoded using protocol buffers which is pretty easily achievable on my side. However I was wondering how they managed to achieve real-time rendering of vector tiles in such a fluid manner.

I am currently using mapsforge to render vector based maps but the rendering times of tiles are pretty far from what I can see in google maps.

Any ideas on how I can approach such awesomness ? What kind of voodoo tricks are they using ?

Thanks for any insight !

share|improve this question
Google has a lot of processing power... – Fezter Jun 24 '13 at 6:05
@Fezter I think you missunderstood the question – azpublic Jun 25 '13 at 1:45
@azpublic: How about your work now? – giser Mar 22 '14 at 5:21
up vote 9 down vote accepted

Google has built their own vector map rendering engine based on OpenGL ES version 2:

Here's a link about OpenGL ES on Android:

OpenGL lets you leverage the underlying power of the GPU and get performance on par with 3D mobile game engines. Given the complexity of most high-end mobile games these days, rendering out some vector map tiles and 3D buildings seems like it would be on the low end of performance requirements.

This is why the requirement of the Maps API V2 is Android 2.2 and higher, since the OpenGL ES Android libraries also require Android 2.2 and higher.

As far as implementing your own version of this, I'd look into some general 3D rendering examples using OpenGL ES and available libraries for Android.

This SE post has some info:

...and this:

I haven't seen any 3D OpenGL ES engines aimed at map rendering, but they might exist.

share|improve this answer
Thanks Sean. You are most likely right about OpenGL. Do you have any ideas how I could roll my own OpenGL based map renderer. Or is there any open source library I could use as a starter ? Thanks. – azpublic Jun 25 '13 at 1:11
Added a few comments to the answer. Hopefully this helps! – Sean Barbeau Jun 25 '13 at 14:02
@azpublic Found the definitive reference stating that Maps API v2 uses OpenGL and added it to the answer - I knew I had read this somewhere! :) – Sean Barbeau Jun 28 '13 at 2:04

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.