Giriş
Metin Arama (Yeni) bir dizeye (örneğin, "New York'taki pizzacılar" veya "Ottawa yakınlarındaki ayakkabı mağazaları" ya da "123 Main Street") göre bir grup yer hakkında bilgi döndürür. Hizmet, metin dizesiyle eşleşen yerlerin listesi ve ayarlanan konum önyargısıyla yanıt verir.
Zorunlu parametrelere ek olarak, Metin Arama (Yeni), daha iyi sonuçlar için isteğe bağlı parametreler kullanılarak sorguların hassaslaştırılmasını destekler.
API Gezgini, API ve API seçenekleri hakkında bilgi edinmek için canlı isteklerde bulunmanıza 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
JSON istek gövdesindeki veya başlıklardaki tüm parametreleri 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), JSON nesnesini yanıt olarak döndürür. Yanıtın içinde:
placesdizisi, eşleşen tüm yerleri içerir.- Dizideki her yer bir
Placenesnesiyle temsil edilir.Placenesnesi, tek bir yerle ilgili ayrıntılı bilgiler içerir. - İstekle iletilen FieldMask,
Placenesnesinde döndürülen alanların listesini belirtir. - Döndürülen yerler listesinin, aynı istekler için tutarlı olacağı garanti edilmez.
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. URL parametresi
$fieldsveyafieldsya da HTTP üst bilgisiX-Goog-FieldMask'yi kullanarak yanıt alanı maskesini yönteme iletin. Yanıtta döndürülen alanların varsayılan bir 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
*kullanın.X-Goog-FieldMask: *
Aşağıdaki alanlardan birini veya daha fazlasını belirtin:
Aşağıdaki alanlar Yalnızca Arama Yönergeleri Kimliği SKU'sunu tetikler:
places.attributions
places.id
places.consumerAlert
places.name*
nextPageToken
places.movedPlace
places.movedPlaceId*
places.namealanı,places/PLACE_IDbiçiminde yer kaynak adını içerir. Yerin metin adına erişmek için Pro SKU'daplaces.displayNamekullanın.Alanların ve ilişkili SKU'larının tam listesi için Yer Veri Alanları (Yeni) başlıklı makaleyi inceleyin.
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.googleMapsTypeLabel
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.location
places.openingDate
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.searchUri
places.subDestinations
places.timeZone
places.types
places.utcOffsetMinutes
places.viewport
* Adres tanımlayıcıları Hindistan'daki müşteriler için genel olarak kullanılabilir ve diğer yerlerde deneyseldir.Alanların ve ilişkili SKU'larının tam listesi için Yer Veri Alanları (Yeni) başlıklı makaleyi inceleyin.
Aşağıdaki alanlar Text Search Enterprise SKU'yu tetikler:
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.transitStation
places.userRatingCount
places.websiteUriAlanların ve ilişkili SKU'larının tam listesi için Yer Veri Alanları (Yeni) başlıklı makaleyi inceleyin.
Aşağıdaki alanlar Text Search Enterprise + Atmosphere SKU'yu 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
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ınlardaki AramaAlanların ve ilişkili SKU'larının tam listesi için Yer Veri Alanları (Yeni) başlıklı makaleyi inceleyin.
-
textQuery
Arama yapılacak metin dizesi. Örneğin, "restoran", "123 Meşrutiyet Caddesi" veya "San Francisco'da ziyaret edilebilecek en iyi yer". API, bu dizeye göre aday eşleşmelerini döndürür ve sonuçları algılanan alaka düzeylerine göre sıralar.
Metin Arama (Yeni), aşağıdakiler de dahil olmak üzere belirsiz sorgular için tasarlanmamıştır:
Sorgu türü Örnek Tek bir sorguda birden fazla yerin, yolun veya şehrin adı gibi çok fazla kavram ya da kısıtlama olması "Market Street San Francisco San Jose Airport" Posta adresi öğeleri Google Haritalar'da gösterilmiyor "C/O John Smith 123 Main Street"
"P.O. Box 13 San Francisco"İşletmelerin, zincirlerin veya kategorilerin adları, bu öğelerin bulunmadığı konumlarla birlikte kullanılamaz. "Tesco near Dallas, Texas" (Teksas, Dallas yakınlarındaki Tesco) Birden fazla yorumu olan belirsiz sorgular "Şarj cihazı terk etme" Artık kullanılmayan eski adlar "Middlesex United Kingdom" Coğrafi olmayan öğeler veya amaç "Ventura Limanı'nda kaç tekne var?" Resmi olmayan veya kişisel adlar "The Jenga"
"The Helter Skelter"Enlem ve boylam koordinatları "37.422131,-122.084801"
İsteğe bağlı parametreler
-
includeFutureOpeningBusinesses
true, gelecekte açılması beklenen işletmeleri döndürür. Varsayılan olarakfalsedeğerine ayarlanır.
İşletme durumunu almak için istek alan maskenizeplaces.businessStatusöğesini ekleyin. İşletmenin beklenen açılış tarihini almak için istek alan maskenizeplaces.openingDateekleyin. -
includedType
Sonuçları, A Tablosu'nda 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
strictTypeFilteringalanınıtrueolarak ayarlayın. -
includePureServiceAreaBusinesses
trueolarak ayarlanırsa yanıtta, müşterileri doğrudan ziyaret eden veya onlara teslimat yapan ancak fiziksel bir işletme konumuna sahip olmayan işletmeler yer alır.falseolarak ayarlanırsa API yalnızca fiziksel bir işletmenin bulunduğu konuma 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ğinden bu liste kapsamlı olmayabilir.
-
languageCodesağlanmazsa API varsayılan olarakendeğerini kullanır. Geçersiz bir dil kodu belirtirseniz API,INVALID_ARGUMENThatası döndürür. - API, hem kullanıcı hem de yerel halk için okunabilir bir açık adres sağlamak üzere elinden geleni yapar. Bu hedefi gerçekleştirmek 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.
- Ad, tercih edilen dilde mevcut değilse 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 konumun çevresindeki sonuçlar (belirtilen alanın dışındaki sonuçlar dahil) döndürülebilir.
locationRestrictionveyalocationBiasdeğerini belirtebilirsiniz ancak ikisini birden belirtemezsiniz.locationRestriction, sonuçların içinde olması gereken bölgeyi belirtmek,locationBiasise 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 belirtmek olarak düşünülebilir.Bölgeyi dikdörtgen bir görünüm penceresi 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, enlem-boylam görünüm penceresidir ve çapraz olarak zıt iki düşük ve yüksek nokta olarak gösterilir. 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ı kapalı bir bölge olarak kabul edilir. Bu nedenle, sınırları da görüntü alanına dahildir. Enlem sınırları -90 ile 90 derece arasında, boylam sınırları ise -180 ile 180 derece arasında olmalıdır:
low=highise görüntü alanı tek bir noktadan oluşur.low.longitude>high.longitudeise 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.latitudeise enlem aralığı boş olur.
Hem düşük hem de yüksek değerler doldurulmalıdır ve gösterilen kutu boş olamaz. Boş bir görünüm penceresi hataya neden olur.
Örneğin, bu görünüm penceresi New York şehrini tamamen kapsıyor:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
locationRestriction
Yalnızca kategoriye yönelik sorgular için arama yapılacak bir alan belirtir. Bu sorgular birden fazla yer döndürebilir (ör. "New York'taki restoranlar" veya "Alışveriş merkezleri"). Belirtilen alanın dışındaki sonuçlar döndürülmez.
Bölgeyi dikdörtgen bir görüntü alanı olarak belirtin. Görüntü alanını tanımlama örneği için
locationBiasaçıklamasını inceleyin.locationRestrictionveyalocationBiasdeğerini belirtebilirsiniz ancak ikisini birden belirtemezsiniz.locationRestriction, sonuçların içinde olması gereken bölgeyi belirtmek,locationBiasise 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 belirtmek olarak düşünülebilir.-
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,
maxResultCountdeğ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, sonraki sayfaya erişmek için sonraki isteğe iletebileceğiniz birnextPageTokenbulunur. 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ı yer alır. Daha fazla bilgi için referans belgelerine bakın.
- Sonuçları belirli bir desteklenen bağlayıcıya göre filtrelemek için
connectorTypesdeğerini bu bağlayıcının değerine ayarlayın. Örneğin, J1772 Tip 1 konnektörlerini bulmak içinconnectorTypesdeğeriniEV_CONNECTOR_TYPE_J1772olarak ayarlayın. - Desteklenmeyen bağlayıcılarla ilgili sonuçları filtrelemek için
connectorTypesdeğeriniEV_CONNECTOR_TYPE_OTHERolarak ayarlayın. - Sonuçları duvar prizi olan herhangi bir bağlayıcı türüne göre filtrelemek için
connectorTypesdeğeriniEV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLETolarak ayarlayın. - Sonuçları herhangi bir bağlayıcı türüne göre filtrelemek için
connectorTypesdeğeriniEV_CONNECTOR_TYPE_UNSPECIFIEDolarak ayarlayın veyaconnectorTypesiçin değer ayarlamayın.
- Sonuçları belirli bir desteklenen bağlayıcıya göre filtrelemek için
minimumChargingRateKw
Yerleri, kilovat (kW) cinsinden minimum elektrikli araç şarj hızına göre 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,0 ile 5,0 arasında (başlangıç ve bitiş değerleri dahil) 0,5'lik artışlarla 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
trueise yalnızca sorgu gönderildiğinde açık olan yerleri döndürün.falseise açık durumuna bakılmaksızın tüm işletmeleri döndürür. Google Yerler veritabanında açılış saatlerini belirtmeyen yerler, bu parametreyifalseolarak 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,
pageSizedeğ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, sonraki sayfaya erişmek için sonraki isteğe iletebileceğiniz birnextPageTokenbulunur.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ürdeki yerlerde fiyat seviyeleri beklenebilir:
priceLevelsbelirtilmişse desteklenmeyen türdeki yerler yanıta dahil edilmez.PriceLevelile 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ıtta nasıl sıralanacağını belirtir:
- "New York City'deki restoranlar" gibi kategorik bir sorgu için varsayılan olarak
RELEVANCE(sonuçları arama alaka düzeyine göre sırala) kullanılır.rankPreferenceseçeneğiniRELEVANCEveyaDISTANCE(sonuçları mesafeye göre sırala) olarak ayarlayabilirsiniz. - "Mountain View, CA" gibi kategorik olmayan bir sorgu için
rankPreferenceayarını kaldırmanızı öneririz.
- "New York City'deki 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 de bir önyargı etkisi yaratabilir. Varsayılan değer yoktur.
Yanıtın
formattedAddressalanındaki ülke adıregionCodeile eşleşiyorsa ülke koduformattedAddressalanından çıkarılır. Bu parametre, ülke adı varsa her zaman içerenadrFormatAddressveya ülke adını hiçbir zaman içermeyenshortFormattedAddressüzerinde etkili değildir.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), ISO 3166-1 kodu ise "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
includedTypeparametresiyle birlikte kullanılır.trueolarak ayarlandığında yalnızcaincludedTypetarafından belirtilen türlerle eşleşen yerler döndürülür. Varsayılan değer olan false 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, "Spicy Vegetarian Food in Sydney, Australia" (Avustralya, Sidney'de Acı Vejetaryen Yemek) 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 üstbilgisinin, yanıtta aşağıdaki veri alanlarının bulunduğunu 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 fiyatlı olarak tanımlanan restoranlara göre 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 veri alanını places.priceLevel yanıtına eklemek için response başlığı da kullanılıyor. Bu nedenle, yanıt şu biçimde:
{ "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ı daraltmak 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 sınırlama
Bir aramayı belirli bir alanla sınırlamak için locationRestriction veya locationBias simgesini kullanın (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 alanın dışında olabileceği bölgeyi belirtir.
locationRestriction kullanarak alanı kısıtlama
Sorgu sonuçlarını belirli bir bölgeyle kısıtlamak 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'ta "vegetarian 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 alana 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 elektrikli araç şarj cihazlarını arama
Elektrikli aracınızla uyumlu şarj cihazlarının bulunduğu yerleri aramak için minimumChargingRateKw ve connectorTypes simgelerini kullanı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 yapılan 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ı belirtin
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 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ği için sayfa başına 5 sonuçla sınırlı bir yanıt 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" }
Sonraki sonuç 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ı alma
Adres tanımlayıcıları, yakındaki önemli noktalar ve kapsayan alanlar da dahil olmak üzere bir yerin konumuyla ilgili 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, addressDescriptors değerini alan maskesine dahil edersiniz:
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ıkları ile alanların listesi ve bu alanların yerle olan kapsama ilişkileri 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" } ] } }, /.../ ] }
Gelecekte açılacak işletmeleri bulma
Aşağıdaki örnekte, New Meadows, Idaho'da gelecekte açılacak işletmeler için bir Metin Arama (Yeni) isteği gösterilmektedir:
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.businessStatus,places.openingDate" \
-d '{
"textQuery": "Roberts Greenhouse and Tree Farm",
"includeFutureOpeningBusinesses": true,
"maxResultCount": 20,
"locationBias": {
"circle": {
"center": {"latitude": 44.9755100, "longitude": -116.2842180},
"radius": 20
}
}
}' \
"https://places.googleapis.com/v1/places:searchText"
Yanıt, gelecekte açılacak işletmeleri, işletme durumlarını ve beklenen açılış tarihlerini içerir:
{ "places": [ { "id": "ChIJp1-VoKWJplQRMz8g-7Wa3Do", "businessStatus": "FUTURE_OPENING", "displayName": { "text": "Roberts Greenhouse and Tree Farm", "languageCode": "en" }, "openingDate": { "year": 2026, "month": 4, "day": 15 } } ] }
Toplu taşıma istasyonu bilgilerini alma
Toplu taşıma istasyonlarını bulmak için Metin Arama'yı (Yeni) kullanabilirsiniz. Yanıt gövdesinde, istasyon adı, bağlı transit operatörleri ve istasyona hizmet veren toplu taşıma hatları da dahil olmak üzere istasyonla ilgili bilgiler yer alır. Ayrıca, yanıtta toplu taşıma istasyonu bilgilerini göstermek için kullanabileceğiniz bir araç simgesi ve renkler yer alır.
Aşağıdaki örnekte "Grand Central Station" için bir istek gösterilmektedir:
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.transitStation" \
-d '{
"textQuery": "Grand Central Station"
}' \
"https://places.googleapis.com/v1/places:searchText"
Yanıt gövdesinde, yarıçap içindeki her istasyon, istasyonun hizmet verdiği hatlar, durakta toplu taşıma kuruluşları tarafından verilen uyarılar ve kalkış bilgileri hakkında bilgiler yer alır:
{ "places": [ { "id": "ChIJhRwB-yFawokRi0AhGH87UTc", "displayName": { "text": "Grand Central", "languageCode": "en" }, "transitStation": { "displayName": { "text": "Grand Central", "languageCode": "en" }, "agencies": [ { "displayName": { "text": "Metro-North Railroad", "languageCode": "en" }, "url": "http://www.mta.info/mnr", "lines": [ { "id": "ChIJOXpD29y2wokRryDO0CocwK0", "vehicleType": "HEAVY_RAIL", "displayName": { "text": "Harlem", "languageCode": "en" }, "textColor": "#FFFFFF", "backgroundColor": "#0061AA", "vehicleIcon": { "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/rail2.svg" }, "alerts": [ { "effect": "OTHER", "texts": [ { "headline": { "text": "Information", "languageCode": "en" }, "summary": { "text": "Temporary platforms are in place at Botanical Garden, Williams Bridge, and Woodlawn for northbound travel. Build in extra travel time to reach the platform.", "languageCode": "en" }, "fullDescription": { "text": "What's Happening? We are renovating some Harlem Line stations in the Bronx. Learn more about the project here.", "languageCode": "en" } } ], "detailsUrls": [ { "url": "https://new.mta.info/" } ], "cause": "OTHER_CAUSE", "startTime": "2026-04-16T04:00:00Z", "endTime": "2026-12-01T04:45:00Z", "attribution": { "link": { "text": "new.mta.info", "url": "https://new.mta.info/" } }, "createTime": "2026-05-15T22:39:30Z", "severityLevel": "INFO" } ] }, ... ] }, ... ] "stops": [ { "id": "ChIJOfdrigFZwokRJPllLwfPrJY", "location": { "latitude": 40.752823, "longitude": -73.977195999999992 }, "wheelchairAccessibleEntrance": true } ], "departureBoards": [ { "displayType": "TIME_CENTRIC", "rows": [ { "departures": [ { "timedDeparture": { "scheduledTime": "2026-05-15T22:42:00Z", "timingType": "SCHEDULED", "predictedTime": "2026-05-15T22:42:00Z", "updateTime": "2026-05-15T22:38:50Z" }, "originallyScheduledStopId": "ChIJOfdrigFZwokRJPllLwfPrJY", "lineId": "ChIJAfBuQhwg6IkRYnFpClHxFrM" } ] }, ... ] } ] } }, { "id": "ChIJ_4EAi-pZwokRWe5T1JmmWmc", "displayName": { "text": "Grand Central Station", "languageCode": "en" } } ] }
Girişleri ve navigasyon noktalarını görme
Bir hedef için giriş ve gezinme noktaları isteyebilirsiniz. Girişler, bir yerin giriş ve çıkış noktalarını (örneğin, bir havaalanı veya alışveriş merkezindeki farklı kapılar) tanımlar. Gezi noktaları, navigasyonun sona ermesi gereken yol kenarı konumlarını tanımlar. Bu, kullanıcıları yolun doğru tarafına veya belirli bir bırakma noktasına yönlendirmek için kullanışlıdır.
Gezinme noktaları navigationPointToken döndürür. Sürücüleri belirli bir konuma yönlendirmek için bu jetonu Navigasyon SDK'sına (Android veya iOS için kullanılabilir) ya da Routes API'ye iletebilirsiniz. Daha fazla bilgi için Gezinme noktası jetonları başlıklı makaleyi inceleyin.
Aşağıdaki örnekte, alan maskesinde entrances ve navigationPoints içeren "San Francisco Uluslararası Havaalanı" için bir Metin Arama (Yeni) isteği gösterilmektedir:
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.entrances,places.navigationPoints" \
-d '{
"textQuery": "San Francisco International Airport",
"pageSize": 1
}' \
"https://places.googleapis.com/v1/places:searchText"
Yanıtta, yerin girişleri ve gezinme noktaları yer alıyor:
{ "places": [ { "id": "ChIJVVVVVYx3j4ARP-3NGldc8qQ", "displayName": { "text": "San Francisco International Airport", "languageCode": "en" }, "entrances": [ { "location": { "latitude": 37.6172154, "longitude": -122.3839724 } }, { "location": { "latitude": 37.6174073, "longitude": -122.384196 } }, ... ], "navigationPoints": [ { "navigationPointToken": "ChIJoioBjMLOQkAR0A3yH_eYXsA...", "displayName": { "text": "International Terminal Departures Level", "languageCode": "en" }, "location": { "latitude": 37.6153121, "longitude": -122.3900833 }, "travelModes": ["WALK"] }, { "navigationPointToken": "ChIJy5JKws_OQkAROx0jNN2YXsA...", "displayName": { "text": "Domestic Garage - SFO Short Term Parking", "languageCode": "en" }, "location": { "latitude": 37.6157153, "longitude": -122.3885012 }, "travelModes": ["DRIVE", "WALK"], "usages": ["PARKING"] }, ... ] } ] }
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.