Belirli bir tesisin yer kimliğini kullanıp Yer Ayrıntıları (Yeni) isteğinde bulunarak bu tesis veya önemli yer hakkında daha fazla ayrıntı talep edebilirsiniz. Yer Ayrıntıları (Yeni) ifadesi, belirtilen yer hakkında tam adresi, telefon numarası, kullanıcı puanı ve yorumları gibi daha kapsamlı bilgileri döndürür.
Yer kimliğini pek çok şekilde edinebilirsiniz. Şunları kullanabilirsiniz:
Yer Ayrıntıları (Yeni) istekleri
PlacesClient.fetchPlace()
yöntemini çağırıp yer kimliği ve alan listesi içeren bir FetchPlaceRequest
nesnesinin yanı sıra isteğe bağlı parametreleri ileterek yer ayrıntılarını isteyebilirsiniz:
// 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 Place
nesnesi biçiminde döndürür. Bu nesne, yalnızca alan listesini kullanarak istediğiniz alanları içerir. Yer verisi sonuçları boş olamaz, bu nedenle yalnızca veri içeren yer sonuçları döndürülür (örneğin, istenen bir yerde hiç fotoğraf yoksa, sonuçlarda fotoğraflar alanı bulunmaz).
Veri alanlarına erişmek için ilgili yöntemi çağırın.
Örneğin, yer adına erişmek için getName()
numaralı telefonu arayın.
Gerekli parametreler
FetchPlaceRequest
için gerekli parametreler:
-
Yer kimliği
Metin Arama (Yeni), Yakındakilerle Arama (Yeni) veya Otomatik tamamlama (Yeni) işlemlerinden döndürülen, bir yeri benzersiz şekilde tanımlayan metin biçimli bir tanımlayıcı. Yer kimlikleri hakkında daha fazla bilgi için yer kimliğine genel bakış konusuna bakın.
-
Alan listesi
Bir yer isteğinde bulunduğunuzda, hangi yer verilerinin döndürüleceğini belirtmeniz gerekir. Bunu yapmak için döndürülecek verileri belirten bir
Place.Field
değerleri listesi iletin. Yanıtta döndürülen alanların varsayılan bir listesi yoktur.Alan listeleri, gereksiz veri isteğinde bulunmadığınızdan emin olmak için iyi bir tasarım uygulamasıdır. Böylece gereksiz işleme süresi ve faturalandırma ücretlerinin önlenmesine yardımcı olur. Bu liste, her isteğin maliyetini etkilediğinden önemli bir noktadır. Daha fazla bilgi için Kullanım ve Faturalandırma bölümünü inceleyin.
Aşağıdaki alanlardan birini veya daha fazlasını belirtin:
Aşağıdaki alanlar Yer Ayrıntıları (Yalnızca Kimlik) SKU'sunu tetikler:
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
Aşağıdaki alanlar Yer Ayrıntıları (Yalnızca Konum) SKU'sunu tetikler:
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
Aşağıdaki alanlar Yer Ayrıntıları (Temel) SKU'sunu tetikler:
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
Aşağıdaki alanlar Yer Ayrıntıları (Gelişmiş) SKU'sunu tetikler:
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
Aşağıdaki alanlar Yer Ayrıntıları (Tercih Edilen) SKU'sunu:
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,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, iki karakterli CLDR kodu değeri olarak belirtilen bölge kodu. Varsayılan değer yoktur.
Yanıttaki
Place.Field.ADDRESS
alanının ülke adıregionCode
ile eşleşiyorsa ülke koduPlace.Field.ADDRESS
öğesinden çıkarılır.Bazı önemli istisnalar dışında CLDR kodlarının çoğu ISO 3166-1 kodlarıyla aynıdır. Örneğin, Birleşik Krallık'ın ccTLD'si "uk" (.co.uk), ISO 3166-1 kodu ise "gb"'dir (teknik olarak "Büyük Britanya ve Kuzey İrlanda Birleşik Krallık'ı" için kullanılır). Parametre, geçerli yasalara 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şturulmuş dizelerdir. Otomatik Tamamlama (Yeni), bir kullanıcı otomatik tamamlama aramasının sorgu ve yer seçimi aşamalarını faturalandırma amacıyla 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'taki Emmpire State Binası için ID
, NAME
ve ADDRESS
alanları istenmektedir.
// 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.NAME, Place.Field.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);