Belirli bir tesis veya turistik yer hakkında daha fazla bilgi edinmek için yer kimliğini kullanarak Yer Ayrıntıları (Yeni) isteği gönderebilirsiniz. Yer Ayrıntıları (Yeni), belirtilen yerle ilgili daha kapsamlı bilgiler (ör. tam adres, telefon numarası, kullanıcı puanı ve yorumlar) döndürür.
Yer kimliği edinmenin birçok yolu vardır. Şunları kullanabilirsiniz:
Yer Ayrıntıları (Yeni) istekleri
PlacesClient.fetchPlace()
işlevini çağırarak ve yer kimliği, alan listesi ve isteğe bağlı parametreler içeren bir FetchPlaceRequest
nesnesi ileterek yer ayrıntıları isteğinde bulunabilirsiniz:
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
Yer Ayrıntıları (Yeni) yanıtları
Yer Ayrıntıları (Yeni), verileri yalnızca alan listesini kullanarak istediğiniz alanları içeren bir Place
nesnesi biçiminde döndürür. Yer verileri sonuçları boş olamaz. Bu nedenle, yalnızca veri içeren yer sonuçları döndürülür (örneğin, istenen bir yerde fotoğraf yoksa fotoğraflar alanı sonuçta yer almaz).
Veri alanlarına erişmek için ilgili yöntemi çağırın.
Örneğin, yer adına erişmek için getName()
işlevini çağırın.
Gerekli parametreler
FetchPlaceRequest
için gerekli parametreler şunlardır:
-
Yer kimliği
Metin Arama (Yeni), Yakında Arama (Yeni) veya Otomatik Tamamlama (Yeni)'dan döndürülen, bir yeri benzersiz şekilde tanımlayan metin tanımlayıcı. Yer kimlikleri hakkında daha fazla bilgi için yer kimliklerine genel bakış başlıklı makaleyi inceleyin.
-
Alan listesi
Bir yer isteğinde bulunurken döndürülecek yer verilerini belirtmeniz gerekir. Bunu yapmak için döndürülecek verileri belirten bir
Place.Field
değerleri listesi gönderin. Yanıtta döndürülen alanların varsayılan listesi yok.Alan listeleri, gereksiz veri istememenizi sağlamak için iyi bir tasarım uygulamasıdır. Bu, gereksiz işlem süresini ve faturalandırma ücretlerini önlemeye yardımcı olur. Her isteğin maliyetini etkilediği için bu liste önemli bir husustur. Daha fazla bilgi için Kullanım ve Faturalandırma başlıklı makaleyi inceleyin.
Aşağıdaki alanlardan en az birini belirtin:
Aşağıdaki alanlar Yer Ayrıntıları (Yalnızca Kimlikler) SKU'sunu tetikler:
Place.Field.DISPLAY_NAME
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
Aşağıdaki alanlar Yer Ayrıntıları (Yalnızca Konum) SKU'sunu tetikler:
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS
Place.Field.LOCATION
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORT
Aşağıdaki alanlar Yer Ayrıntıları (Temel) SKU'sunu tetikler:
Place.Field.ACCESSIBILITY_OPTIONS
Place.Field.BUSINESS_STATUS
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSET
Aşağıdaki alanlar Yer Ayrıntıları (Gelişmiş) SKU'sunu tetikler:
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
Place.Field.PRICE_LEVEL
Place.Field.RATING
Place.Field.SECONDARY_OPENING_HOURS
Place.Field.USER_RATING_COUNT
Place.Field.WEBSITE_URI
Aşağıdaki alanlar Yer Ayrıntıları (Tercih Edilen) SKU'sunu tetikler:
Place.Field.ALLOWS_DOGS
Place.Field.CURBSIDE_PICKUP
Place.Field.DELIVERY
Place.Field.DINE_IN
Place.Field.EDITORIAL_SUMMARY
Place.Field.EV_CHARGE_OPTIONS
Place.Field.FUEL_OPTIONS
Place.Field.GOOD_FOR_CHILDREN
Place.Field.GOOD_FOR_GROUPS
Place.Field.GOOD_FOR_WATCHING_SPORTS
Place.Field.LIVE_MUSIC
Place.Field.MENU_FOR_CHILDREN
Place.Field.OUTDOOR_SEATING
Place.Field.PARKING_OPTIONS
Place.Field.PAYMENT_OPTIONS
Place.Field.RESERVABLE
Place.Field.RESTROOM
Place.Field.REVIEWS
Place.Field.SERVES_BEER
Place.Field.SERVES_BREAKFAST
Place.Field.SERVES_BRUNCH
Place.Field.SERVES_COCKTAILS
Place.Field.SERVES_COFFEE
Place.Field.SERVES_DESSERT
Place.Field.SERVES_DINNER
Place.Field.SERVES_LUNCH
Place.Field.SERVES_VEGETARIAN_FOOD
Place.Field.SERVES_WINE
Place.Field.TAKEOUT
İsteğe bağlı parametreler
FetchPlaceRequest
için isteğe bağlı parametreler şunlardır:
Bölge kodu
Yanıtı biçimlendirmek için kullanılan bölge kodu. İki karakterli CLDR kodu değeri olarak belirtilir. Varsayılan değer yoktur.
Yanıttaki
Place.Field.FORMATTED_ADDRESS
alanının ülke adıregionCode
ile eşleşirse ülke koduPlace.Field.FORMATTED_ADDRESS
'dan çıkarılır.CLDR kodlarının çoğu, bazı önemli istisnalar dışında ISO 3166-1 kodlarıyla aynıdır. Örneğin, Birleşik Krallık'ın ccTLD'si "uk" (.co.uk) iken ISO 3166-1 kodu "gb"dir (teknik olarak "Büyük Britanya ve Kuzey İrlanda Birleşik Krallığı" tüzel kişiliği için). Parametre, geçerli yasaya göre sonuçları etkileyebilir.
Bölge kodu parametresini ayarlamak için
FetchPlaceRequest
nesnesini oluştururkensetRegionCode()
yöntemini çağırın.-
Oturum jetonu
Oturum jetonları, Otomatik Tamamlama (Yeni) çağrılarını "oturumlar" olarak izleyen, kullanıcı tarafından oluşturulan dizelerdir. Otomatik Tamamlama (Yeni), faturalandırma amacıyla kullanıcı otomatik tamamlama aramasının sorgu ve yer seçimi aşamalarını ayrı bir oturumda gruplandırmak için oturum jetonlarını kullanır. Oturum jetonları, Otomatik Tamamlama (Yeni) çağrılarını izleyen Yer Ayrıntıları (Yeni) çağrılarına iletilir. Daha fazla bilgi için Oturum jetonları bölümüne bakın.
Oturum jetonu parametresini ayarlamak için
FetchPlaceRequest
nesnesini oluştururkensetSessionToken()
yöntemini çağırın.
Yer ayrıntıları örneği
Aşağıdaki örnekte, New York City'deki Empire State Binası için ID
, DISPLAY_NAME
ve FORMATTED_ADDRESS
alanları istenir.
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);