Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Terms and Conditions Google Maps: Can I store lat/lng and address components?

This question has been asked in a few places on SO, but I've found the answers to be either slightly contradictory or "thin"... so I'm not sure if asking again will help but here goes.

The google "help" page says that the google team maintains a "presence" on SO, so if you are a google chap, please could you make this clear, and if you are not please also make this clear, thank you :)

So, what I want to do... User searches for a set of locations. These will be used to form a travel itinerary. I want to take the lat/lng and the address components and store them in my own database so that when another uses search for trips in some country, some place etc etc I can go about finding them.

The big question, does the terms of conditions allow this? The relevant bit that worries me is...

10.1.3 Restrictions against Data Export or Copying.

... snip ...

(b) No Pre-Fetching, Caching, or Storage of Content. You must not pre-fetch, cache, or store any Content, except that you may store: (i) limited amounts of Content for the purpose of improving the performance of your Maps API Implementation if you do so temporarily (and in no event for more than 30 calendar days), ...snip... For example, you must not use the Content to create an independent database of "places" or other local listings information.

Would what I want to do violate this. It sounds to me like it might, but then that renders the question, why would I use google maps for this kind of application? Other travel sites appear to?!

like image 471
Jimbo Avatar asked Dec 27 '13 16:12

Jimbo


People also ask

Can I store latitude and longitude in Google Maps?

You can also paste a set of latitude and longitude coordinates into your Google Maps search. Google will drop a pin in the location described by the coordinates.

Can you store Google Maps API data?

You will not pre-fetch, cache, index, or store any Content to be used outside the Service, except that you may store limited amounts of Content solely for the purpose of improving the performance of your Maps API Implementation due to network latency (and not for the purpose of preventing Google from accurately ...

How does Google Maps store its mapping data?

The search giant collects data from satellite imagery, cameras at traffic signals, GPS on mobile phones and many other real-time data sources. The collected data is fed into real-time data analysing tools that turn it into accurate information for their users.


2 Answers

There is no problem if you store

  • latitude and longitude
  • addresses

As those would be "user preferences" in your app.

The restrictions on data export refer to the tiles and photos used to display the maps. In general people want this feature to have a cache mechanism or provide offline functionality. This is not allowed* and only the official mobile app has this features.

*Google actually allows it, but you have to read the finer print, more on that below.

Longer answer, analyzing the ToC:

No Pre-Fetching, Caching, or Storage of Content. You must not pre-fetch, cache, or store any Content...

What does content mean? This is map tiles, terrain tiles, photos of places, satellite photos etc. The content, in the ToC, is anything that has been created by Google and provided as part of the Google map service. But, not everything provided in the service has been created nor is owned by Google.

  • Addresses are not created or owned by Google, this is public information. What Google has done is to gather them and put them in a presentable, easy to search, interface. But it is not part of "the content".
  • GPS locations are not created or owned by Google, this is public information as well. In fact, GPS was created by the department of defense (DoD) in the US. They are the ones who control its use.

...For example, you must not use the Content to create an independent database of "places" or other local listings information.

It wouldn't be fair to Google if you downloaded a subset of the content, lets say all the tiles and photos for your home town. Once you have your copy of the files, you do a little processing on them, maybe add trivia or fun facts that only you know because you grew up there. And then use that to provide a re-branded service. Something called JimboMaps perhaps. That is the type of thing that is prohibited.

you may store: (i) limited amounts of Content for the purpose of improving the performance of your Maps API Implementation if you do so temporarily

Guess what, you are actually allowed to store content in you database. Any of it, photos, tiles etc. The catch is:

  • You can store limited amounts. A few blocks, probably a small region is ok. But don't store a whole town or suburb.
  • You can't store anything for more than 30 days.
  • The only valid reason to do this is performance improvement of your application. See this: Google Maps v3 - Map tile caching on client?

...you must not use the Content to create an independent database of "places" or other local listings information.

It is just saying that you are not allowed to create JimboMaps.

like image 182
givanse Avatar answered Sep 20 '22 16:09

givanse


The newest Google Maps Platform Terms of Service (which takes effect July 16, 2018) is a bit more explicit about this.

3.2.4 Restrictions Against Misusing the Services.

(a) No Scraping. Customer will not extract, export, or scrape Google Maps Content for use outside the Services. For example, Customer will not:(i) pre-fetch, cache, index, or store Google Maps Content for more than 30 days; (ii) bulk download geocodes; or (iii) copy business names, addresses, or user reviews.

Yes, the address might be public knowledge, but the process to obtain it is subject to the terms of the service you use...

like image 20
dangel Avatar answered Sep 20 '22 16:09

dangel