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 yer hakkında tam adres, telefon numarası, kullanıcı puanı ve yorumlar gibi daha kapsamlı bilgiler 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 veriler 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);