Yer Fotoğrafları (Yeni)

Platform seçin: Android iOS Web Hizmeti

Yer Fotoğrafları (Yeni), içeriğinize yüksek kaliteli fotoğraf içeriği eklemenize olanak tanır. kabul edersiniz. Place Photos, Google Play'de saklanan milyonlarca fotoğrafa erişmenizi sağlar. Rehber veritabanını da içerebilir. Yer Fotoğrafları, bir bit eşlem görüntüsüne URI döndürür. Bit eşlem resmin maksimum boyutu 4.800 x 4.800 pikseldir.

Fotoğraf istekleri

Bir yere ait resim almak için:

  1. Şunu kullanarak bir Place nesnesi getirmek için Yer Ayrıntıları (Yeni) işlevini kullanın: fetchPlace(). Eklenecek alanlar listesine Place.Field PHOTO_METADATAS alanını eklediğinizden emin olun şunu içerir: yanıt Place nesnesi.
  2. OnSuccessListener CANNOT TRANSLATE FetchPlaceResponse, PhotoMetadata türünde fotoğraf meta verisi nesnesini almak için Place.getPhotoMetadas() numaralı telefonu arayın yanıt Place nesnesinden.
  3. İstekte bulunmak ve fotoğraf meta veri nesnesini ve maksimum yükseklik, maksimum genişlik veya her ikisinin değerlerini iletmek için bir FetchResolvedPhotoUriRequest nesnesi oluşturun.
  4. PlacesClient.fetchResolvedPhotoUri() kullanın kullanabilirsiniz.
  5. OnSuccessListener ekleyin ve FetchResolvedPhotoUriResponse üzerinden fotoğraf URI'sini alın nesnesini tanımlayın.

Gerekli parametreler

Şunun için gerekli parametreler: FetchResolvedPhotoUriRequest şunlardır:

  • Fotoğraf meta verileri

    Döndürülecek fotoğrafın meta veri nesnesi.

  • Maksimum yükseklik veya maksimum genişlik

    Döndürülecek resmin maksimum yüksekliğini ve genişliğini (piksel cinsinden) belirtir. Resim, belirtilen değerlerden küçükse orijinal resim döndürülür. Resim, iki boyuttan herhangi birinde daha büyükse orijinal en boy oranıyla sınırlı olmak üzere iki boyuttan daha küçük olanla eşleşecek şekilde ölçeklendirilir. Hem maksimum yükseklik hem de maksimum genişlik özellikleri 1 ile 4.800 arasında bir tam sayıyı kabul eder. Maksimum yüksekliği, maksimum genişliği veya her ikisini birden belirtmelisiniz.

    • Maksimum yükseklik parametresini ayarlamak için FetchResolvedPhotoUriRequest nesnesini oluştururken setMaxHeight() yöntemini çağırın.
    • Maksimum genişlik parametresini ayarlamak için FetchResolvedPhotoUriRequest nesnesini oluştururken setMaxWidth() yöntemini çağırın.

Yer Fotoğrafları örnekleri

Aşağıdaki örnekte bir yer fotoğrafı URI'sinin alınması gösterilmektedir.

// Define a Place ID.
final String placeId = "INSERT_PLACE_ID_HERE";

// Specify fields. Requests for photos must always have the PHOTO_METADATAS field.
final List<Place.Field> fields = Collections.singletonList(Place.Field.PHOTO_METADATAS);

// Get a Place object (this example uses fetchPlace(), but you can also use findCurrentPlace())
final FetchPlaceRequest placeRequest = FetchPlaceRequest.newInstance(placeId, fields);

placesClient.fetchPlace(placeRequest).addOnSuccessListener((response) -> {
    final Place place = response.getPlace();

    // Get the photo metadata.
    final List<PhotoMetadata> metadata = place.getPhotoMetadatas();
    if (metadata == null || metadata.isEmpty()) {
        Log.w(TAG, "No photo metadata.");
        return;
    }
    final PhotoMetadata photoMetadata = metadata.get(0);

    // Get the attribution text and author attributions.
    final String attributions = photoMetadata.getAttributions();
    final AuthorAttributions authorAttributions = photoMetadata.getAuthorAttributions();

    // Create a FetchResolvedPhotoUriRequest.
    final FetchResolvedPhotoUriRequest photoRequest = FetchResolvedPhotoUriRequest.builder(photoMetadata)
        .setMaxWidth(500)
        .setMaxHeight(300)
        .build();

    // Request the photo URI
    placesClient.fetchResolvedPhotoUri(photoRequest).addOnSuccessListener((fetchResolvedPhotoUriResponse) -> {
        Uri uri = fetchResolvedPhotoUriResponse.getUri();
        RequestOptions requestOptions = new RequestOptions().override(Target.SIZE_ORIGINAL);
        Glide.with(this).load(uri).apply(requestOptions).into(imageView);
    }).addOnFailureListener((exception) -> {
        if (exception instanceof ApiException) {
            final ApiException apiException = (ApiException) exception;
            Log.e(TAG, "Place not found: " + exception.getMessage());
            final int statusCode = apiException.getStatusCode();
            // TODO: Handle error with given status code.
        }
    });
});

İlişkilendirmeler

Çoğu durumda, yer fotoğrafları atıf yapılmadan kullanılabilir veya resmin bir parçası olarak dahil edilen gerekli atıf. Ancak, fotoğraf meta veri nesnesi, PhotoMetadata, iki tür ek ilişkilendirmeden birini içerebilir:

Döndürülen PhotoMetadata nesnesi iki tür ilişkilendirme içeriyorsa Resmi görüntülediğiniz her yerde ilişkilendirmeye uygulamanızda yer verin. Daha fazla bilgi için İlişkilendirmeleri Görüntüleme adlı makaleyi inceleyin.