Can I store the Geolocation (lat,long) for a place, business from Google Maps in a database ? The use case is that user should be able to select a location in the map and add comments to the location which I want to store in the database. So every time users searching for a location, I can pick up the comments from my local db.
Google terms says we should not store any information from the API, but if we want to create a location based system what API should we use?
This tutorial from google says about storing info into DB but that would violate the terms of google of not storing information. https://developers.google.com/maps/articles/phpsqlinfo_v3
Thanks
(I Am Not A Lawyer, I didn't write or decide their terms of use and only Google and its legal jurisdiction are the final authorities on this. This answer argues from what is reasonable to infer.)
Of course you can do this. Otherwise you wouldn't be able to persist the location of anything and that would ruin the idea of this kind of application.
There are two parts to this: can you geocode and store a specific location and can you store a specific location to a business or other place that you've found by searching.
What Google's terms say are that you shouldn't use their services as an all-purpose geocoder. You are free to use the geocoder as long as you use it in conjunction with their maps.
From the documentation on the Geocoding API:
Note: the Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
And from the Maps API FAQ:
Please be aware of the usage limits that apply to geocoder requests, and note that use of the geocoder for any purpose other than obtaining locations that will be displayed using the Google Maps APIs is a violation of the Terms of Service. You may use the HTTP geocoder to geocode addresses outside of your Google Maps API application so that they may be cached and later displayed using one of the Google Maps APIs, but locations obtained using the Geocoding Web Service may not be used by any other application, distributed by other means, or resold.
With regards to storing the location of, say, a business, you have to be able to store the location at least temporarily so that you can implement your application. Otherwise, your every search query would have to go search for the location of every business to get a fresh, not-stored-in-your-database location back from Google. Since that can't possibly work, it's probably not their intention.
I don't think you'll be stepping over any lines until Google could argue that you're outright selling the information of a significant number of business locations in their database. You'd be far more likely to run up against their usage limits until then.