I'm working on an activity scheduler app where users can see nearby restaurants and bars, create activities there, and then save past activities to an activity history. As such, I need a service to retrieve information on nearby points of interest and then cache them, to be able to save activity details for the activity history feature.

Currently, I'm using the Google Maps Places API to show nearby restaurants and bars, and it works great; I'm able to show information on each location (name, address, distance, price, a photo from the location, and the Google rating), but I recently found that the Places API's terms explicitly forbids caching or saving any data. This means I'd either have to rewrite most of the app so that every time an activity is displayed, the API must be called and all the activity details re-retrieved (which will surely damage the app's performance, lengthen development, and be much more expensive than I anticipated), or I will have to switch to a different service.

I've looked far and wide, but non-Google data sources I've found have either still disallowed caching or have major data completeness problems (many, for instance, lack key features like location photos, price, and rating). Displaying place data and attaching it to an object seems like such a common task (and I'm simply trying to attach place data to my activity objects), so there surely is a straightforward solution that can let me just use places information without breaking my app or destroying its performance.

Could anyone with experience in this area share their insight?

1 Answer 1


I think your problem is data and Google disallowing caching "major data completeness problems (many, for instance, lack key features like location photos, price, and rating)".

The Data you are using via the places API is owned by Google and sourced from the Google users (e.g. Businesses putting their information on Google Maps). The only open data (e.g. openstreetmaps) or Government created data just won't have that much information.

Unfortunately you will probably just have to develop Google's way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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