user3387682
user3387682

Reputation: 101

Photos of particular place id

How I can get all the pictures of a particular "place_id"?

When I retrieve the list of "places" in a particular location I have only access to one particular image "photo_reference".

I want to show the details of place through its "places_id" (more specific search), but the result of the API function no associated picture appears. If you're looking through places that google places "id" concrete many more images appear. How I can recover them?

Thanks

Upvotes: 2

Views: 3150

Answers (1)

Ben Lorantfy
Ben Lorantfy

Reputation: 963

You can use the street view image API when the places API doesn't return any photos. You can use the coordinates you receive from the places response in the request to the street view API to a link something like this:

https://maps.googleapis.com/maps/api/streetview?size=600x300&location=46.414382,10.013988&key=YOUR_API_KEY

You probably need to enable the street view api in the google developers console along with your places api.

Street view reference: https://developers.google.com/maps/documentation/streetview/?hl=en

Assuming you have an element with an id of attributions and an element with id of image you could do the following with the JavaScript API. Codepen: http://codepen.io/anon/pen/adooRp

  var attributions = document.getElementById("attributions");   
  var service = new google.maps.places.PlacesService(attributions);

  var request = {
      placeId: 'ChIJ10KlwAdzXg0RsH56kZsfcHs'   
  };

  service.getDetails(request, function(place, status) {
      if (status == google.maps.places.PlacesServiceStatus.OK) {
          var lat = place.geometry.location.lat();
          var lng = place.geometry.location.lng();

          var src = "https://maps.googleapis.com/maps/api/streetview?size=600x300&location="
+ lat + "," + lng + "&key=YOUR_API_KEY_HERE";

          document.getElementById("image").src = src;

      }   
  });

Upvotes: 2

Related Questions