Reputation: 6406
When using the Google Maps Places API you can create an Autocomplete
element attached to a map in order to search their library.
When you select a place you can call autocomplete.getPlace()
to retrieve a JSON object describing the place. One field of this is the place_id
, Google's unique reference. Google actually allow these to be stored:
Place IDs are exempt from the caching restrictions stated in Section 10.1.3 of the Google Maps APIs Terms of Service. You can therefore store place ID values indefinitely.
However it's not clear from the documentation how you can use this stored value to retrieve the details of a place. Are there any methods, and how should these be used?
Upvotes: 2
Views: 3274
Reputation: 6406
There is an object in the google.maps.places
namespace called PlacesService
. This has a method called getDetails()
which can accept an ID.
Confusingly the PlacesService
object requires a HTML element to be created. If you just want to use getDetails
you will not need to subsequently use this element, so you can just create one using whatever flavour you prefer - the example below uses jQuery:
var obj=$('<div>').appendTo('body');
var service=new google.maps.places.PlacesService(obj.get(0));
service.getDetails({placeId:''},function(PlaceResult, PlacesServiceStatus){
// PlaceResult is an object
// PlacesServiceStatus is a string
});
Again oddly, the object passed to getDetails
is referred to as a PlaceDetailsRequest
in the documentation, however this class doesn't exist, it's just a description for how the object should be formatted.
Upvotes: 10