Yer Fotoğrafları (Yeni), içeriğinize yüksek kaliteli fotoğraf içeriği eklemenize olanak tanır. bir uygulamadır. 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:
- Şunu kullanarak bir
Place
nesnesi getirmek için Yer Ayrıntıları (Yeni) işlevini kullanın:fetchPlace()
. Eklenecek alanlar listesinePlace.Field PHOTO_METADATAS
alanını eklediğinizden emin olun şunu içerir: yanıtPlace
nesnesi. -
OnSuccessListener
CANNOT TRANSLATEFetchPlaceResponse
,PhotoMetadata
türünde fotoğraf meta verisi nesnesini almak içinPlace.getPhotoMetadas()
numaralı telefonu arayın yanıtPlace
nesnesinden. - İ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. PlacesClient.fetchResolvedPhotoUri()
kullanın kullanabilirsiniz.OnSuccessListener
ekleyin veFetchResolvedPhotoUriResponse
ü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ştururkensetMaxHeight()
yöntemini çağırın. - Maksimum genişlik parametresini ayarlamak için
FetchResolvedPhotoUriRequest
nesnesini oluştururkensetMaxWidth()
yöntemini çağırın.
- Maksimum yükseklik parametresini ayarlamak için
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:
- İlişkilendirmeler,
PhotoMetadata.getAttributions()
. - AuthorAttributions,
AuthorAttributions
nesneye erişen:PhotoMetadata.getAuthorAttributions()
.
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.