Giriş
Metin Arama (Yeni) bir dizeye göre bir grup yer hakkında bilgi döndürür. Örneğin, "New York'ta pizza", "Ottawa yakınlarındaki ayakkabı mağazaları" veya "123 Main Street". Hizmet, metin dizesiyle eşleşen yerlerin ve ayarlanan konum önyargısının bulunduğu bir liste ile yanıt verir.
Bu hizmet, özellikle otomatik bir sistemde belirsiz adres sorguları oluşturmak için kullanışlıdır. Dizenin adres olmayan bileşenleri, işletmelerin yanı sıra adreslerle de eşleşebilir. Belirsiz adres sorgularına örnek olarak kötü biçimlendirilmiş adresler veya işletme adları gibi adres dışı bileşenler içeren istekler verilebilir. Aşağıdaki tablodaki ilk iki örnek gibi istekler, bölge, konum kısıtlaması veya konum önyargısı gibi bir konum ayarlanmadığı sürece sıfır sonuç döndürebilir.
"10 High Street, UK" veya "123 Main Street, US" | Birleşik Krallık'ta birden fazla "High Street"; ABD'de birden fazla "Main Street". Sorgu, konum kısıtlaması ayarlanmadığı sürece istenen sonuçları döndürmüyor. |
"ChainRestaurant New York" | New York'ta birden fazla "ChainRestaurant" konumu var. Sokak adresi veya sokak adı bile yok. |
"10 High Street, Escher UK" veya "123 Main Street, Pleasanton US" | Birleşik Krallık'taki Escher şehrinde yalnızca bir "High Street"; ABD'deki Pleasanton CA şehrinde yalnızca bir "Main Street" vardır. |
"UniqueRestaurantName New York" | New York'ta bu ada sahip tek bir kuruluş var. Ayırt etmek için sokak adresi gerekmiyor. |
"New York'taki pizzacılar" | Bu sorgu, konum kısıtlaması içeriyor ve "pizza restoranları" iyi tanımlanmış bir yer türü. Birden fazla sonuç döndürür. |
"+1 514-670-8700" | Bu sorguda telefon numarası var. Bu numara, telefon numarasıyla ilişkili yerler için birden fazla sonuç döndürür. |
API Gezgini, API ve API seçeneklerine aşina olabilmeniz için canlı istekler göndermenize olanak tanır:
Metin Arama (Yeni) istekleri
Bir Metin Arama (Yeni) isteği, aşağıdaki biçimde bir HTTP POST isteğidir:
https://places.googleapis.com/v1/places:searchText
Tüm parametreleri JSON istek gövdesinde veya üstbilgilerde POST isteğinin bir parçası olarak iletin. Örneğin:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
Metin Arama (Yeni) yanıtları
Metin Arama (Yeni), yanıt olarak bir JSON nesnesi döndürür. Yanıtta:
places
dizisi, eşleşen tüm yerleri içerir.- Dizideki her yer, bir
Place
nesnesiyle temsil edilir.Place
nesnesi, tek bir yerle ilgili ayrıntılı bilgiler içerir. - İstekle iletilen FieldMask,
Place
nesnesinde döndürülen alanların listesini belirtir.
Tam JSON nesnesi şu biçimdedir:
{ "places": [ { object (Place) } ] }
Gerekli parametreler
-
FieldMask
Yanıt alan maskesi oluşturarak yanıtta döndürülecek alanların listesini belirtin. Yanıt alan maskesini,
$fields
veyafields
URL parametresini ya daX-Goog-FieldMask
HTTP üst bilgisini kullanarak yönteme iletin. Yanıtta varsayılan olarak döndürülen alanların listesi yoktur. Alan maskesini atlarsanız yöntem hata döndürür.Alan maskeleme, gereksiz veri istemediğinizden emin olmanızı sağlayan iyi bir tasarım uygulamasıdır. Bu sayede gereksiz işlem süresinden ve faturalandırma ücretlerinden kaçınabilirsiniz.
Döndürülecek yer verisi türlerinin virgülle ayrılmış bir listesini belirtin. Örneğin, yerin görünen adını ve adresini almak için.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Tüm alanları almak için
*
öğesini kullanın.X-Goog-FieldMask: *
Aşağıdaki alanlardan birini veya daha fazlasını belirtin:
Aşağıdaki alanlar Text Search Essentials ID Only SKU'yu (Yalnızca Kimlikli Metin Arama Essentials SKU'su) tetikler:
places.attributions
places.id
places.name
*
nextPageToken
*
places.name
alanı,places/PLACE_ID
biçiminde yer kaynak adını içerir. Yerin metin adına erişmek için Pro SKU'daplaces.displayName
simgesini kullanın.Aşağıdaki alanlar Text Search Pro SKU'sunu tetikler:
places.accessibilityOptions
places.addressComponents
places.addressDescriptor
*
places.adrFormatAddress
places.businessStatus
places.containingPlaces
places.displayName
places.formattedAddress
places.googleMapsLinks
**
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.location
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* Adres tanımlayıcıları Hindistan'daki müşteriler için genel olarak kullanılabilir ve diğer ülkelerde deneysel olarak sunulur.
**places.googleMapsLinks
alanı, GKST öncesi önizleme aşamasındadır ve bu aşamada kullanım için herhangi bir ücret alınmaz. Diğer bir deyişle, faturalandırma 0 ABD doları olarak yapılır.Aşağıdaki alanlar Text Search Enterprise SKU'sunu tetikler:
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
Aşağıdaki alanlar Text Search Enterprise + Atmosphere SKU'sunu tetikler:
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeAmenitySummary
places.evChargeOptions
places.fuelOptions
places.generativeSummary
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.neighborhoodSummary
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.reviewSummary
places.routingSummaries
*
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
* Yalnızca Metin Arama ve Yakında Arama
-
textQuery
Aranacak metin dizesi (ör. "restoran", "123 Main Street" veya "San Francisco'da ziyaret edilebilecek en iyi yer"). API, bu dizeye göre olası eşleşmeleri döndürür ve sonuçları algılanan alaka düzeylerine göre sıralar.
İsteğe bağlı parametreler
includedType
Sonuçları, Tablo A'da tanımlanan belirtilen türle eşleşen yerlere göre yönlendirir. Yalnızca bir tür belirtilebilir. Örneğin:
"includedType":"bar"
"includedType":"pharmacy"
Metin Arama (Yeni), uygunluğa bağlı olarak belirli sorgular için tür filtreleme uygular. Örneğin, tür filtreleme belirli adreslerle ("123 Ana Cadde") ilgili sorgulara uygulanmayabilir ancak tür filtreleme, kategorik sorgulara ("yakındaki mağazalar" veya "alışveriş merkezleri") neredeyse her zaman uygulanır.
Tüm sorgulara tür filtreleme uygulamak için
strictTypeFiltering
simgesinitrue
olarak ayarlayın.-
includePureServiceAreaBusinesses
true
olarak ayarlanırsa yanıtta, müşterileri doğrudan ziyaret eden veya onlara teslimat yapan ancak fiziksel bir işletme konumu olmayan işletmeler yer alır.false
olarak ayarlanırsa API yalnızca fiziksel bir işletme konumuna sahip işletmeleri döndürür. languageCode
Sonuçların döndürüleceği dil.
- Desteklenen dillerin listesini inceleyin. Google, desteklenen dilleri sık sık güncellediği için bu liste kapsamlı olmayabilir.
-
languageCode
sağlanmazsa API varsayılan olaraken
değerini kullanır. Geçersiz bir dil kodu belirtirseniz APIINVALID_ARGUMENT
hatası döndürür. - API, hem kullanıcı hem de yerel halk tarafından okunabilir bir açık adres sağlamak için elinden geleni yapar. Bu amaca ulaşmak için, tercih edilen dili dikkate alarak gerekirse kullanıcının okuyabileceği bir alfabeye çevrilmiş, yerel dildeki sokak adreslerini döndürür. Diğer tüm adresler tercih edilen dilde döndürülür. Adres bileşenlerinin tümü aynı dilde döndürülür. Bu dil, ilk bileşenden seçilir.
- Tercih edilen dilde ad yoksa API en yakın eşleşmeyi kullanır.
- Tercih edilen dil, API'nin döndürmeyi seçtiği sonuç kümesi ve bu sonuçların döndürülme sırası üzerinde küçük bir etkiye sahiptir. Coğrafi kodlayıcı, kısaltmaları dile bağlı olarak farklı şekilde yorumlar. Örneğin, sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlılar.
locationBias
Arama yapılacak bir alanı belirtir. Bu konum, bir önyargı olarak işlev görür. Bu nedenle, belirtilen alanın dışındaki sonuçlar da dahil olmak üzere belirtilen konumla ilgili sonuçlar döndürülebilir.
locationRestriction
veyalocationBias
değerini belirtebilirsiniz ancak ikisini birden belirtemezsiniz.locationRestriction
, sonuçların içinde olması gereken bölgeyi belirtir.locationBias
ise sonuçların büyük olasılıkla içinde veya yakınında olacağı ancak alanın dışında da olabileceği bölgeyi belirtir.Bölgeyi dikdörtgen görüntü alanı veya daire olarak belirtin.
Bir daire, merkez noktası ve metre cinsinden yarıçap ile tanımlanır. Yarıçap, 0,0 ile 50000,0 arasında (bu değerler dahil) olmalıdır. Varsayılan yarıçap 0,0'dır. Örneğin:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Dikdörtgen, iki çapraz olarak zıt düşük ve yüksek nokta olarak gösterilen bir enlem-boylam görüntü alanıdır. Düşük nokta, dikdörtgenin güneybatı köşesini, yüksek nokta ise dikdörtgenin kuzeydoğu köşesini gösterir.
Görüntü alanı, sınırını da içeren kapalı bir bölge olarak kabul edilir. Enlem sınırları -90 ile 90 derece arasında (bu değerler dahil), boylam sınırları ise -180 ile 180 derece arasında (bu değerler dahil) olmalıdır:
low
=high
ise görüntü alanı tek bir noktadan oluşur.low.longitude
>high.longitude
ise boylam aralığı ters çevrilir (görüntü alanı 180 derece boylam çizgisini geçer).low.longitude
= -180 derece vehigh.longitude
= 180 derece ise görüntü alanı tüm boylamları içerir.low.longitude
= 180 derece vehigh.longitude
= -180 derece ise boylam aralığı boş olur.low.latitude
>high.latitude
ise enlem aralığı boş olur.
Hem düşük hem de yüksek değerler doldurulmalı ve gösterilen kutu boş olmamalıdır. Boş bir görünüm alanı hataya neden olur.
Örneğin, bu görünüm penceresi New York City'yi tamamen kapsar:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
locationRestriction
Arama yapılacak bir alanı belirtir. Belirtilen alanın dışındaki sonuçlar döndürülmez.
Bölgeyi dikdörtgen görüntü alanı olarak belirtin. Görüntü alanını tanımlama örneği için
locationBias
açıklamasını inceleyin.locationRestriction
veyalocationBias
değerini belirtebilirsiniz ancak ikisini birden belirtemezsiniz.locationRestriction
, sonuçların içinde olması gereken bölgeyi belirtir.locationBias
ise sonuçların büyük olasılıkla içinde veya yakınında olacağı ancak alanın dışında da olabileceği bölgeyi belirtir.-
maxResultCount (desteği sonlandırıldı)
Sayfa başına görüntülenecek sonuç sayısını (1 ile 20 arasında) belirtir. Örneğin,
maxResultCount
değerini 5 olarak ayarladığınızda ilk sayfada en fazla 5 sonuç döndürülür. Sorgudan döndürülebilecek daha fazla sonuç varsa yanıtta, bir sonraki sayfaya erişmek için sonraki isteğe iletebileceğiniz birnextPageToken
bulunur. evOptions
Mevcut elektrikli araç (EV) şarj konnektörlerini ve şarj oranlarını belirlemeye yönelik parametreleri belirtir.
connectorTypes
Bir yerde bulunan elektrikli araç şarj konnektörünün türüne göre filtreler. Bağlayıcı türlerinden hiçbirini desteklemeyen bir yer filtrelenir. Desteklenen EV şarj konnektörü türleri arasında birleşik (AC ve DC) şarj cihazları, Tesla şarj cihazları, GB/T uyumlu şarj cihazları (Çin'de EV hızlı şarjı için) ve duvar prizi şarj cihazları bulunur. Daha fazla bilgi için referans belgelerine bakın.
- Sonuçları belirli bir desteklenen bağlayıcıya göre filtrelemek için
connectorTypes
değerini bu bağlayıcıya ayarlayın. Örneğin, J1772 tür 1 bağlayıcıları bulmak içinconnectorTypes
değeriniEV_CONNECTOR_TYPE_J1772
olarak ayarlayın. - Desteklenmeyen bağlayıcılar için sonuçları filtrelemek istiyorsanız
connectorTypes
değeriniEV_CONNECTOR_TYPE_OTHER
olarak ayarlayın. - Sonuçları duvar prizi olan herhangi bir konnektör türüne göre filtrelemek için
connectorTypes
değeriniEV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET
olarak ayarlayın. - Sonuçları herhangi bir bağlayıcı türüne göre filtrelemek için
connectorTypes
değeriniEV_CONNECTOR_TYPE_UNSPECIFIED
olarak ayarlayın veyaconnectorTypes
için değer ayarlamayın.
- Sonuçları belirli bir desteklenen bağlayıcıya göre filtrelemek için
minimumChargingRateKw
Yerleri, minimum elektrikli araç şarj hızı (kilovat) cinsinden filtreler. Minimum şarj oranından daha düşük bir oranla şarj eden yerler filtrelenir. Örneğin, şarj hızı en az 10 kW olan elektrikli araç şarj cihazlarını bulmak için bu parametreyi "10" olarak ayarlayabilirsiniz.
minRating
Sonuçları yalnızca ortalama kullanıcı puanı bu sınırdan yüksek veya bu sınıra eşit olanlarla kısıtlar. Değerler, 0,5 artışlarla 0,0 ile 5,0 (başlangıç ve bitiş değerleri dahil) arasında olmalıdır. Örneğin: 0, 0,5, 1,0, ... , 5,0 (5,0 dahil). Değerler en yakın 0,5'e yuvarlanır. Örneğin, 0,6 değeri 1,0'dan düşük puanlı tüm sonuçları ortadan kaldırır.
openNow
true
ise yalnızca sorgu gönderildiğinde açık olan yerleri döndürün.false
ise açık durumundan bağımsız olarak tüm işletmeleri döndürür. Google Yerler veritabanında çalışma saatleri belirtilmeyen yerler, bu parametreyifalse
olarak ayarlarsanız döndürülür.pageSize
Sayfa başına görüntülenecek sonuç sayısını (1 ile 20 arasında) belirtir. Örneğin,
pageSize
değerini 5 olarak ayarladığınızda ilk sayfada en fazla 5 sonuç döndürülür. Sorgudan döndürülebilecek daha fazla sonuç varsa yanıtta, bir sonraki sayfaya erişmek için sonraki isteğe iletebileceğiniz birnextPageToken
bulunur.pageToken
Önceki sayfanın yanıt gövdesindeki
nextPageToken
öğesini belirtir.-
priceLevels
Aramayı belirli fiyat seviyelerinde işaretlenmiş yerlerle sınırlayın. Varsayılan olarak tüm fiyat seviyeleri seçilir.
Aşağıdaki türlerdeki yerler için fiyat seviyeleri beklenebilir:
priceLevels
belirtilmişse desteklenmeyen türdeki yerler yanıta dahil edilmez.PriceLevel
tarafından tanımlanan bir veya daha fazla değerden oluşan bir dizi belirtin.Örneğin:
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
Sonuçların, sorgu türüne göre yanıttaki sıralamasını belirtir:
- "New York'taki restoranlar" gibi kategorik bir sorgu için varsayılan olarak
RELEVANCE
(sonuçları arama alaka düzeyine göre sırala) kullanılır.rankPreference
seçeneğiniRELEVANCE
veyaDISTANCE
(sonuçları mesafeye göre sırala) olarak ayarlayabilirsiniz. - "Mountain View, CA" gibi kategorik olmayan bir sorgu için
rankPreference
ayarını yapmamanızı öneririz.
- "New York'taki restoranlar" gibi kategorik bir sorgu için varsayılan olarak
regionCode
Yanıtı biçimlendirmek için kullanılan bölge kodu, iki karakterli CLDR kodu değeri olarak belirtilir. Bu parametre, arama sonuçları üzerinde önyargı etkisi de yaratabilir. Varsayılan değer yoktur.
Yanıtın
formattedAddress
alanındaki ülke adıregionCode
ile eşleşiyorsa ülke koduformattedAddress
alanından çıkarılır. Bu parametre,adrFormatAddress
üzerinde herhangi bir etkiye sahip değildir.adrFormatAddress
, ülke adını her zaman içerir.shortFormattedAddress
ise ülke adını hiçbir zaman içermez.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.
strictTypeFiltering
includedType
parametresiyle birlikte kullanılır.true
olarak ayarlandığında yalnızcaincludeType
tarafından belirtilen türlerle eşleşen yerler döndürülür. Varsayılan değer olan "yanlış" olduğunda yanıtta, belirtilen türlerle eşleşmeyen yerler olabilir.
Metin Arama (Yeni) örnekleri
Sorgu dizesine göre yer bulma
Aşağıdaki örnekte, "Avustralya, Sidney'de acı vejetaryen yemekler" için bir Metin Arama (Yeni) isteği gösterilmektedir:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
X-Goog-FieldMask
başlığının, yanıtın aşağıdaki veri alanlarını içerdiğini belirttiğini unutmayın: places.displayName,places.formattedAddress
.
Yanıt şu biçimde olur:
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, { "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Peace Harmony", "languageCode": "en" } }, ... ] }
Ek bilgiler döndürmek için alan maskesine daha fazla veri türü ekleyin.
Örneğin, places.types,places.websiteUri
ekleyerek yanıta restoran türünü ve web adresini dahil edin:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri' \ 'https://places.googleapis.com/v1/places:searchText'
Yanıt artık şu biçimde:
{ "places": [ { "types": [ "vegetarian_restaurant", "vegan_restaurant", "chinese_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "websiteUri": "http://www.motherchusvegetarian.com.au/", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "types": [ "vegan_restaurant", "thai_restaurant", "vegetarian_restaurant", "indian_restaurant", "italian_restaurant", "american_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "websiteUri": "http://www.veggosizzle.com.au/", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, ... ] }
Yerleri fiyat düzeyine göre filtreleme
Sonuçları ucuz veya orta pahalı olarak tanımlanan restoranlarla filtrelemek için priceLevel
seçeneğini kullanın:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"] }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
Bu örnekte, X-Goog-FieldMask
başlığı kullanılarak places.priceLevel
veri alanı yanıta eklenir. Bu nedenle, yanıt şu biçimde olur:
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "115 King St, Newtown NSW 2042, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Green Mushroom", "languageCode": "en" } }, ... ] }
Aramanızı hassaslaştırmak için includedType
, minRating
, rankPreference
, openNow
gibi ek seçenekler ve İsteğe bağlı parametreler bölümünde açıklanan diğer parametreleri ekleyin.
Aramayı belirli bir alanla kısıtlama
Bir aramayı belirli bir alanla sınırlamak için locationRestriction
veya locationBias
simgesini kullanın ancak ikisini birden kullanmayın. locationRestriction
, sonuçların içinde olması gereken bölgeyi, locationBias
ise sonuçların yakınında olması gereken ancak bölgenin dışında olabileceği alanı belirtir.
locationRestriction kullanarak alanı kısıtlama
Sorgu sonuçlarını belirli bir bölgeyle sınırlamak için locationRestriction
parametresini kullanın. İstek gövdenizde, bölge sınırını tanımlayan low
ve high
enlem ve boylam değerlerini belirtin.
Aşağıdaki örnekte, New York City'de "vegetarian<0x0x0A>food" için bir Metin Arama (Yeni) isteği gösterilmektedir. Bu istek yalnızca açık yerlerle ilgili ilk 10 sonucu döndürür.
curl -X POST -d '{ "textQuery" : "vegetarian food", "pageSize" : "10", "locationRestriction": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } } }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
locationBias kullanarak bir bölgeye yönelik önyargı
Aşağıdaki örnekte, San Francisco şehir merkezindeki bir noktanın 500 metre yarıçapındaki bir konuma yönelik "vejetaryen yemek" için bir Metin Arama (Yeni) isteği gösterilmektedir. Bu istek yalnızca açık yerlerle ilgili ilk 10 sonucu döndürür.
curl -X POST -d '{ "textQuery" : "vegetarian food", "openNow": true, "pageSize": 10, "locationBias": { "circle": { "center": {"latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } }, }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Minimum şarj hızına sahip EV şarj cihazlarını arama
minimumChargingRateKw
ve connectorTypes
tuşlarını kullanarak elektrikli aracınızla uyumlu şarj cihazlarının bulunduğu yerleri arayın.
Aşağıdaki örnekte, Mountain View, CA'da minimum 10 kW şarj hızına sahip Tesla ve J1772 Tip 1 EV şarj konnektörleri için bir istek gösterilmektedir. Yalnızca dört sonuç döndürülür.
curl -X POST -d '{ "textQuery": "EV Charging Station Mountain View", "pageSize": 4, "evOptions": { "minimumChargingRateKw": 10, "connectorTypes": ["EV_CONNECTOR_TYPE_J1772","EV_CONNECTOR_TYPE_TESLA"] } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.displayName,places.evChargeOptions" \ 'https://places.googleapis.com/v1/places:searchText'
İstek aşağıdaki yanıtı döndürür:
{ "places": [ { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 16, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 100, "count": 8, "availableCount": 5, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 2, "availableCount": 2, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 6, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 6, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 4, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 2, "availableCount": 0, "outOfServiceCount": 2, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 5, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_J1772", "maxChargeRateKw": 3.5999999046325684, "count": 1, "availableCount": 0, "outOfServiceCount": 1, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "Electric Vehicle Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 10, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_OTHER", "maxChargeRateKw": 210, "count": 10 } ] } } ] }
Hizmet bölgesi işletmelerini arama
Fiziksel hizmet adresi olmayan işletmeleri (örneğin, mobil temizlik hizmeti veya yemek kamyonu) aramak için includePureServiceAreaBusinesses
parametresini kullanın.
Aşağıdaki örnekte, San Francisco'daki tesisatçılarla ilgili bir istek gösterilmektedir:
curl -X POST -d '{ "textQuery" : "plumber San Francisco", "includePureServiceAreaBusinesses": true }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Yanıt olarak, fiziksel hizmet adresi olmayan işletmeler formattedAddress
alanını içermez:
{ "places": [ { "formattedAddress": "3450 Sacramento St #204, San Francisco, CA 94118, USA", "displayName": { "text": "Advanced Plumbing & Drain", "languageCode": "en" } }, { "formattedAddress": "1455 Bancroft Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Magic Plumbing Heating & Cooling", "languageCode": "en" } }, /.../ { "displayName": { "text": "Starboy Plumbing Inc.", "languageCode": "en" } }, { "formattedAddress": "78 Dorman Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Cabrillo Plumbing, Heating & Air", "languageCode": "en" } }, { "formattedAddress": "540 Barneveld Ave # D, San Francisco, CA 94124, USA", "displayName": { "text": "Mr. Rooter Plumbing of San Francisco", "languageCode": "en" } }, /.../ { "displayName": { "text": "Pipeline Plumbing", "languageCode": "en" } }, { "formattedAddress": "350 Bay St #100-178, San Francisco, CA 94133, USA", "displayName": { "text": "One Source Plumbing and Rooter", "languageCode": "en" } }, /.../ ] }
Sayfa başına döndürülecek sonuç sayısını belirtme
Sayfa başına döndürülecek sonuç sayısını belirtmek için pageSize
parametresini kullanın. Yanıt gövdesindeki nextPageToken
parametresi, sonuçların bir sonraki sayfasına erişmek için sonraki çağrılarda kullanılabilecek bir jeton sağlar.
Aşağıdaki örnekte, "New York'ta pizza" isteğinin sayfa başına 5 sonuçla sınırlandırıldığı gösterilmektedir:
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5 }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJifIePKtZwokRVZ-UdRGkZzs" }, { "id": "ChIJPxPd_P1YwokRfzLhSiACEoU" }, { "id": "ChIJrXXKn5NZwokR78g0ipCnY60" }, { "id": "ChIJ6ySICVZYwokR9rIK8HjXhzE" }, { "id": "ChIJ6xvs94VZwokRnT1D2lX2OTw" } ], "nextPageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }
Sonuçların bir sonraki sayfasına erişmek için istek gövdesinde pageToken
ile nextPageToken
değerini iletin:
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5, "pageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJL-LN1N1ZwokR8K2jACu6Ydw" }, { "id": "ChIJjaD94kFZwokR-20CXqlpy_4" }, { "id": "ChIJ6ffdpJNZwokRmcafdROM5q0" }, { "id": "ChIJ8Q2WSpJZwokRQz-bYYgEskM" }, { "id": "ChIJ8164qwFZwokRhplkmhvq1uE" } ], "nextPageToken": "AeCrKXvPd6uUy-oj96W2OaqEe2pUD8QTxOM8-sKfUcFsC9t2Wey5qivrKGoGSxcZnyc7RPmaFfAktslrKbUh31ZDTkL0upRmaxA7c_c" }
Adres tanımlayıcılarını alma
Adres tanımlayıcıları, yakındaki önemli noktalar ve kapsayan alanlar da dahil olmak üzere bir yerin konumu hakkında ilişkisel bilgiler sağlar.
Aşağıdaki örnekte, San Jose'deki bir alışveriş merkezinin yakınındaki yerler için bir Metin Arama (Yeni) isteği gösterilmektedir. Bu örnekte, alan maskesine addressDescriptors
ekliyorsunuz:
curl -X POST -d '{ "textQuery": "clothes", "maxResultCount": 5, "locationBias": { "circle": { "center": { "latitude": 37.321328, "longitude": -121.946275 } } }, "rankPreference":"RANK_PREFERENCE_UNSPECIFIED" }' \ -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.addressDescriptor" \ https://places.googleapis.com/v1/places:searchText
Yanıtta, istekte belirtilen yer, yakındaki önemli noktaların listesi ve bu noktaların yere olan uzaklığı ile alanların listesi ve bu alanların yerle olan kapsama ilişkisi yer alır:
{ "places": [ { "displayName": { "text": "Urban Outfitters", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "name": "places/ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "placeId": "ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "food", "movie_theater", "point_of_interest", "restaurant", "shoe_store", "shopping_mall", "store" ], "spatialRelationship": "WITHIN", "straightLineDistanceMeters": 133.72855 }, { "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4", "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4", "displayName": { "text": "Nordstrom", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 250.99161 }, { "name": "places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "placeId": "ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "displayName": { "text": "Macy's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "store" ], "straightLineDistanceMeters": 116.24196 }, { "name": "places/ChIJ9d3plB_Lj4ARzyaU5bn80WY", "placeId": "ChIJ9d3plB_Lj4ARzyaU5bn80WY", "displayName": { "text": "Bank of America Financial Center", "languageCode": "en" }, "types": [ "bank", "establishment", "finance", "point_of_interest" ], "straightLineDistanceMeters": 121.61515 }, { "name": "places/ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "placeId": "ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "displayName": { "text": "Bloomingdale's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "furniture_store", "home_goods_store", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 81.32396 } ], "areas": [ { "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "displayName": { "text": "Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM", "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM", "displayName": { "text": "Central San Jose", "languageCode": "en" }, "containment": "WITHIN" } ] } }, /.../ ] }
Deneyin!
API Gezgini, API ve API seçeneklerine alışabilmeniz için örnek istekler göndermenize olanak tanır.
Sayfanın sağ tarafındaki API simgesini api seçin.
İsteğe bağlı olarak istek parametrelerini düzenleyin.
Yürüt düğmesini seçin. İletişim kutusunda, isteği göndermek için kullanmak istediğiniz hesabı seçin.
API Gezgini penceresini genişletmek için API Gezgini panelinde tam ekran simgesini fullscreen seçin.