I\'m building a mobile app that lists posts, each post has a place attached to it.
I want the list to be able to show distance from the user\'s location. without caching
Google's page on Places states that Caching of the Places ID is allowed.
The terms in 10.5.d state that you may store limited amounts of content for no more than 30 calendar days for performance reasons. Since this is what you are trying to do, then I would expect that you are ok to store the ID, location and name.
As you start to cache more information then you'll breach the terms of the API. It's not too clear what these are but I think as long as you are being reasonable then you'll be OK.
As per the current policy, the Place Id is exempt from the caching restriction.
Pre-Fetching, Caching or Storage of contents
Pre-Fetching, Caching, or Storage of Content Applications using the Directions API are bound by the Google Maps Platform Terms of Service. Section 3.2.4(a) of the terms states that you must not pre-fetch, cache, index, or store any Content except under the limited conditions stated in the terms.
Note that the place ID, used to uniquely identify a place, is exempt from the caching restriction. You can therefore store place ID values indefinitely. Place ID values are returned in the place_id field in Directions API responses.
"Note that the place ID, used to uniquely identify a place, is exempt from the caching restriction. You can therefore store place ID values indefinitely. The place ID is returned in the place_id field in Places API responses." https://developers.google.com/places/web-service/policies#usage_limits