Belirli bir kuruluş veya ilgi çekici nokta hakkında daha fazla ayrıntı istemek için yer kimliğini kullanıp Yer Ayrıntıları (Yeni) isteğinde bulunabilirsiniz. Yer Ayrıntıları (Yeni), belirtilen yerle ilgili daha kapsamlı bilgiler (ör. tam adresi, 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()
çağrısı yaparak ve yer kimliği ile alan listesi içeren bir FetchPlaceRequest
nesnesi ileterek yer ayrıntılarını isteyebilirsiniz. Ayrıca isteğe bağlı parametreler de iletebilirsiniz:
// 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), Place
nesnesi biçiminde veri döndürür. Bu nesne, yalnızca field
list kullanarak istediğiniz alanları içerir. 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 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()
işlevini çağırın.
Gerekli parametreler
FetchPlaceRequest
için gerekli parametreler şunlardır:
-
Yer kimliği
Bir yeri benzersiz şekilde tanımlayan, Metin Arama (Yeni), Yakında Arama (Yeni) veya Otomatik Tamamlama (Yeni)'dan döndürülen metin biçiminde bir tanımlayıcı. Yer kimlikleri hakkında daha fazla bilgi için Yer kimliği genel bakış başlıklı makaleyi inceleyin.
-
Alan listesi
Bir yer istediğinizde, 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 listesi yoktur.Alan listeleri, gereksiz veri istemediğinizden emin olmanızı sağlayan iyi bir tasarım uygulamasıdır. Bu sayede gereksiz işlem süresi ve faturalandırma ücretlerinden kaçınabilirsiniz. Bu liste, her isteğin maliyetini etkilediği için önemli bir husustur. Daha fazla bilgi için Kullanım ve Faturalandırma başlıklı makaleyi inceleyin.
Aşağıdaki alanlardan birini veya daha fazlasını belirtin:
Aşağıdaki alanlar Place Details Essentials IDs Only SKU'yu tetikler:
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
Aşağıdaki alanlar Place Details Essentials SKU'sunu tetikler:
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS
*
*Place.Field.ADDRESS
(desteği sonlandırıldı) yerine kullanın.
Place.Field.LOCATION
*
*Place.Field.LAT_LNG
(desteği sonlandırıldı) yerine kullanın.
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORT
Aşağıdaki alanlar Yer Ayrıntıları Pro SKU'sunu tetikler:
Place.Field.ACCESSIBILITY_OPTIONS
*
*Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
(desteği sonlandırıldı) yerine kullanılır.
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME
*
* Desteği sonlandırılanPlace.Field.NAME
yerine kullanın.
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL
*
*Place.Field.ICON_URL
(desteği sonlandırıldı) yerine kullanın.
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSET
Aşağıdaki alanlar Place Details Enterprise SKU'sunu tetikler:
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
*
* Kullanımdan kaldırılanPlace.Field.PHONE_NUMBER
yerine kullanın.
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
*
* Kullanımdan kaldırılanPlace.Field.USER_RATINGS_TOTAL
yerine kullanın.
Place.Field.WEBSITE_URI
Aşağıdaki alanlar Yer Ayrıntıları Enterprise Plus 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, iki karakterli CLDR kodu değeri olarak belirtilir. Varsayılan değer yoktur.
Yanıtın
Place.Field.FORMATTED_ADDRESS
alanındaki ülke adıregionCode
ile eşleşiyorsa ülke koduPlace.Field.FORMATTED_ADDRESS
'den çıkarılır.Bazı önemli istisnalar dışında çoğu CLDR kodu, 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ı, kullanıcı tarafından oluşturulan ve Otomatik Tamamlama (Yeni) çağrılarını "oturum" olarak izleyen dizelerdir. Otomatik Tamamlama (Yeni), faturalandırma amacıyla kullanıcının otomatik tamamlama aramasıyla ilgili 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ından sonra gelen Yer Ayrıntıları (Yeni) çağrılarına iletilir. Daha fazla bilgi için Oturum jetonları konusuna 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ı isteniyor.
// 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);