Belirli bir tesis veya önemli yer hakkında yer kimliğini kullanarak ve Yer Ayrıntıları (Yeni) isteği göndererek daha fazla ayrıntı isteyebilirsiniz. Yer Ayrıntıları (Yeni) seçeneği belirtilen yer hakkında daha kapsamlı bilgiler (ör. tam adres, telefon numarası, kullanıcı puanı ve yorumlar) döndürür.
Yer kimliğini almanın birçok yolu vardır. Şunları kullanabilirsiniz:
Yer Ayrıntıları (Yeni) istekleri
PlacesClient.fetchPlace()
çağrısı yapıp yer kimliği, alan listesi ve isteğe bağlı parametreler içeren bir FetchPlaceRequest
nesnesi 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 fotoğraf yoksa sonuçta 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 şunlardır:
-
Yer kimliği
Metin Arama (Yeni), Yakında Arama (Yeni) veya Otomatik Tamamlama (Yeni) özelliğinden döndürülen ve bir yeri benzersiz şekilde tanımlayan metin biçimli tanımlayıcı. Yer kimlikleri hakkında daha fazla bilgi için yer kimliğine genel bakış bölümüne 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
Place.Field
değerlerinin listesini iletin. Yanıtta varsayılan bir döndürülen alanlar listesi yoktur.Alan listeleri, gereksiz işleme süresi ve faturalandırma ücretlerinden kaçınmak için gereksiz veri istemediğinizden emin olmak açısından iyi bir tasarım uygulamasıdır.Her isteğin maliyetini etkilediği için bu liste önemli bir husustur. Daha fazla bilgi için Kullanım ve Faturalandırma bölümüne bakın.
Aşağıdaki alanlardan birini veya daha fazlasını belirtin:
Aşağıdaki alanlar Yer Ayrıntıları (Yalnızca Kimlikler) 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 tetikler:
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 bölge kodu. İki karakterli CLDR kodu değeri olarak belirtilir. Varsayılan bir değer yok.
Yanıttaki
Place.Field.ADDRESS
alanının ülke adıregionCode
ile eşleşirse ülke koduPlace.Field.ADDRESS
öğesinden çıkarılır.CLDR kodları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), ISO 3166-1 kodu "gb" (teknik olarak "Büyük Britanya ve Kuzey İrlanda'daki Birleşik Krallık'a" ait tüzel kişi için) "gb" şeklindedir. 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), 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ı kullanır. Oturum jetonları, Otomatik Tamamlama (Yeni) çağrılarını takip eden Yer Ayrıntıları (Yeni) çağrılarına aktarılır. Daha fazla bilgi için Oturum jetonları bölümünü inceleyin.
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
, 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);