(How to / Am I allowed to) Use Google Maps as a Texture on an OpenGL object

cachinggooglelicensingmapopengl

Note: I asked a very similar question on StackOverflow but did not get much attention, so was directed to http://programmers.stackexchange.com as licensing issues seem to have more interest here…

I am not an expert in Google Maps policies although I am aware that downloading / caching map tiles is not encouraged at all.

In Android, developers were given the MapActivity and MapView classes which attempt to provide all possible services for displaying map tiles and even modifying them on the fly if needed, but they are pretty useless for me as I would like to use map tiles as a texture on a 3D OpenGL object.

I'd like to know under which conditions the use of map tiles as an OpenGL texture is allowed.

Anyone?

UPDATE to clarify my question after Gavin's comment:

"Given that the Google Maps API does NOT provide a way to directly access map tiles as low level bitmaps, which is required by OpenGL texturing functions, is there any way to implement this without breaking Google licensing policies?"

Best Answer

The Google Maps API licensing page explains this fairly well, to summarise, there are three types of license:


Google Maps API

The Google Maps API is a free service that lets you embed Google Maps in your freely accessible web pages or mobile apps.

Your service must be freely and publicly accessible to end users.

Google Maps API for Business

Google Maps API for Business provides enhanced features and added support to organizations who are adding maps to their fee-based websites or mobile apps, or to their internal websites.

OEM Licensing

You can license Google Maps as an embedded feature of your stand-alone software or device.


Your question does not make it clear exactly what your application does, so it is difficult to say which category you fall into. If in doubt, contact google and ask them.

Basically, if your application is for a mobile device and is free, then you can use the free Google Maps API. If it is for a mobile device but you will charge a fee, then you need the Google Maps API for Business. If your application is not for a mobile device (possibly both free and paid for) then you need an OEM License. If your application is not for a mobile device, but is web connected, then it is a bit of a grey area, you may be able to use a free Google Maps API, or you may need an OEM License.

I suggest speaking to Google and explaining what you wish to do, they will then be able to advise you what type of licence is required.

Related Topic