Metin Arama (Yeni)

Platform seçin: Android iOS JavaScript Web Hizmeti

Metin Arama (Yeni), bir dizeye göre bir dizi yer hakkında bilgi döndürür. Örneğin, "New York'ta pizza" veya "Ottawa yakınlarındaki ayakkabı mağazaları" ya da "123 Ana Cadde". Hizmet, metin dizesiyle eşleşen yerlerin ve ayarlanan konum yanlılığının bir listesiyle yanıt verir.

Bu hizmet, özellikle otomatik bir sistemde belirsiz adres sorguları yapmak için kullanışlıdır. Dizinin adres dışındaki bileşenleri, adreslerin yanı sıra işletmelerle 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 yanlılığı 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". Konum kısıtlaması ayarlanmadığı sürece sorgu istenen sonuçları döndürmez.
"ChainRestaurant New York" New York'ta birden fazla "ChainRestaurant" konumu; açık adres veya hatta sokak adı 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 ise yalnızca bir "Main Street" vardır.
"UniqueRestaurantName New York" New York'ta bu ada sahip yalnızca bir işletme var. Ayrıştırmak için sokak adresi gerekmiyor.
"New York'ta pizza restoranları" Bu sorgu, konum kısıtlamasını içerir ve "pizza restoranları" iyi tanımlanmış bir yer türüdür. Birden fazla sonuç döndürür.
"+1 514-670-8700"

Bu sorgu bir telefon numarası içeriyor. Bu telefon numarasıyla ilişkili yerler için birden fazla sonuç döndürür.

API Gezgini, API'ye ve API seçeneklerine aşina olabilmeniz için canlı istek göndermenize olanak tanır:

Metin arama istekleri

Metin arama isteği, aşağıdaki biçime sahip bir HTTP POST isteğidir:

https://places.googleapis.com/v1/places:searchText

Tüm parametreleri JSON istek gövdesinde veya POST isteğinin bir parçası olarak üstbilgilerde 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 nesnesi ile temsil edilir. Place nesnesi, tek bir yerle ilgili ayrıntılı bilgileri içerir.
  • İstekte iletilen FieldMask, Place nesnesinde döndürülen alanların listesini belirtir.

JSON nesnesinin tamamı şu şekildedir:

{
  "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, URL parametresi $fields veya fields'yi ya da HTTP üst bilgisi X-Goog-FieldMask'yi kullanarak yönteme iletin. Yanıtta döndürülen alanların varsayılan listesi yoktur. Alan maskesini atlarsanız yöntem bir hata döndürür.

    Alan maskeleme, gereksiz veri istememenizi sağlamak için iyi bir tasarım uygulamasıdır. Bu uygulama, gereksiz işlem süresinden ve faturalandırma ücretlerinden kaçınmanıza yardımcı olur.

    Döndürülecek yer veri türlerinin virgülle ayrılmış bir listesini belirtin. Örneğin, bir yerin görünen adını ve adresini almak için

    X-Goog-FieldMask: places.displayName,places.formattedAddress

    Tüm alanları almak için * değerini kullanın.

    X-Goog-FieldMask: *

    Aşağıdaki alanlardan en az birini belirtin:

    • Aşağıdaki alanlar Metin Arama (Yalnızca Kimlik) SKU'sunu tetikler:

      places.attributions
      places.id
      places.name*
      nextPageToken

      * places.name alanında, places/PLACE_ID biçiminde kaynak adı yer alır. Yerin metin adına erişmek için places.displayName kullanın.
    • Aşağıdaki alanlar Metin Arama (Temel) SKU'sunu tetikler:

      places.accessibilityOptions
      places.addressComponents
      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.primaryType
      places.primaryTypeDisplayName
      places.pureServiceAreaBusiness
      places.shortFormattedAddress
      places.subDestinations
      places.types
      places.utcOffsetMinutes
      places.viewport

      * places.googleMapsLinks alanı GA öncesi önizleme aşamasındadır ve önizleme sırasındaki kullanım için ücret alınmaz. Yani faturalandırma 0 ABD dolarıdır.
    • Aşağıdaki alanlar Metin Arama (Gelişmiş) 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 Metin Arama (Tercih Edilen) SKU'sunu tetikler:

      places.allowsDogs
      places.curbsidePickup
      places.delivery
      places.dineIn
      places.editorialSummary
      places.evChargeOptions
      places.fuelOptions
      places.goodForChildren
      places.goodForGroups
      places.goodForWatchingSports
      places.liveMusic
      places.menuForChildren
      places.parkingOptions
      places.paymentOptions
      places.outdoorSeating
      places.reservable
      places.restroom
      places.reviews
      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ınlardakiler
  • textQuery

    Aramanın yapılacağı metin dizesi. Örneğin: "restoran", "123 Ana Cadde" 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 tarafından tanımlanan belirli türle eşleşen yerlerle sınırlandırır. Yalnızca bir tür belirtilebilir. Örneğin:

    • "includedType":"bar"
    • "includedType":"pharmacy"
  • includePureServiceAreaBusinesses

    true olarak ayarlanırsa yanıt, müşterileri doğrudan ziyaret eden veya onlara doğrudan teslimat yapan ancak fiziksel işletme konumu olmayan işletmeleri içerir. false olarak ayarlanırsa API yalnızca fiziksel bir işletme yeri olan 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 tam olmayabilir.
    • languageCode sağlanmazsa API varsayılan olarak en değerini kullanır. Geçersiz bir dil kodu belirtirseniz API INVALID_ARGUMENT hatası döndürür.
    • API, hem kullanıcı hem de yerel halk tarafından okunabilen bir açık adres sağlamak için elinden geleni yapar. Bu hedefe ulaşmak için sokak adreslerini yerel dilde döndürür. Gerekirse tercih edilen dile göre, kullanıcı tarafından okunabilir bir yazım sistemine dönüştürülür. Diğer tüm adresler ise tercih edilen dilde döndürülür. Adres bileşenlerinin tümü, ilk bileşenden seçilen aynı dilde döndürülür.
    • Tercih edilen dilde bulunmayan bir ad varsa API en yakın eşlemeyi kullanır.
    • Tercih edilen dil, API'nin döndürmeyi seçtiği sonuç grubu ve bu sonuçların döndürülme sırası üzerinde küçük bir etkiye sahiptir. Coğrafi kodlayıcı, kısaltmaları dile göre 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ı görevi görür. Bu, belirtilen alanın dışındaki sonuçlar da dahil olmak üzere belirtilen konumun çevresindeki sonuçların döndürülebileceği anlamına gelir.

    locationRestriction veya locationBias ikilisinden birini belirtebilirsiniz; ikisini birden belirtmeyin. locationRestriction'ü, sonuçların dahil olması gereken bölgeyi, locationBias'ü ise sonuçların muhtemelen içinde veya yakınında olacak ancak alanın dışında da olabilecek bölgeyi belirtmek olarak düşünebilirsiniz.

    Bölgeyi dikdörtgen görüntü alanı veya daire olarak belirtin.

    • Daireler, merkez noktası ve yarıçapı (metre cinsinden) 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 karşıt düşük ve yüksek nokta olarak temsil edilen bir enlem-boylam görüntü alanıdır. Düşük nokta, dikdörtgenin güney batı 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. 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 = high ise görüntü alanı bu tek noktadan oluşur.
      • low.longitude > high.longitude ise boylam aralığı tersine çevrilir (görüntü alanı 180 derece boylam çizgisini aşar).
      • low.longitude = -180 derece ve high.longitude = 180 derece ise görüntü alanı tüm boylamları içerir.
      • low.longitude = 180 derece ve high.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 temsil edilen kutu boş olmamalıdır. Boş bir görüntü alanı hatayla sonuçlanır.

      Örneğin, bu görüntü alanı New York'u tamamen kapsıyor:

      "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ına bakın.

    locationRestriction veya locationBias ikilisinden birini belirtebilirsiniz; ikisini birden belirtmeyin. locationRestriction'ü, sonuçların dahil olması gereken bölgeyi, locationBias'ü ise sonuçların muhtemelen içinde veya yakınında olacak ancak alanın dışında da olabilecek bölgeyi belirtmek olarak düşünebilirsiniz.

  • 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, sonraki sayfaya erişmek için sonraki bir isteğe iletebileceğiniz bir nextPageToken bulunur.

  • evOptions

    Mevcut elektrikli araç (EV) şarj konnektörlerini ve şarj ücretlerini belirlemeyle ilgili parametreleri belirtir.

    • connectorTypes

      Bir yerde bulunan elektrikli araç şarj konnektörü türüne göre filtreler. Bağlantı türlerinden hiçbirini desteklemeyen yerler filtrelenir. Desteklenen elektrikli araç şarj konnektörü türleri arasında birleşik (AC ve DC) şarj cihazları, Tesla şarj cihazları, GB/T uyumlu şarj cihazları (Çin'de elektrikli araç hızlı şarjı için) ve priz şarj cihazları bulunur. Daha fazla bilgi için referans dokümanlarını inceleyin.

      • Belirli bir desteklenen bağlayıcı için sonuçları filtrelemek üzere connectorTypes değerini bu değere ayarlayın. Örneğin, J1772 türü 1 konnektörleri bulmak için connectorTypes değerini EV_CONNECTOR_TYPE_J1772 olarak ayarlayın.
      • Desteklenmeyen bağlayıcılara ait sonuçları filtrelemek için connectorTypes değerini EV_CONNECTOR_TYPE_OTHER olarak ayarlayın.
      • Sonuçları priz olan tüm konnektör türleri için filtrelemek üzere connectorTypes değerini EV_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ğerini EV_CONNECTOR_TYPE_UNSPECIFIED olarak ayarlayın veya connectorTypes için bir değer ayarlamayın.
    • minimumChargingRateKw

      Yerleri, kilovat (kW) cinsinden minimum elektrikli araç şarj oranına göre filtreler. Şarj ücreti minimum şarj ücretinden düşük olan yerler filtrelenir. Örneğin, en az 10 kW şarj hızına sahip 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 (başlangıç ve bitiş değerleri dahil) arasında, 0,5'lik artışlarla olmalıdır. Örneğin: 0, 0,5, 1,0, ..., 5,0 dahil. Değerler en yakın 0,5'e yuvarlanır. Örneğin, 0,6 değeri, puanı 1,0'dan düşük olan tüm sonuçları ortadan kaldırır.

  • openNow

    true ise yalnızca sorgu gönderildiği sırada açık olan yerleri döndürür. false ise açık durumdan bağımsız olarak tüm işletmeleri döndürür. Bu parametreyi false olarak ayarlarsanız Google Haritalar veritabanında çalışma saatlerini belirtmeyen yerler 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, sonraki sayfaya erişmek için sonraki bir isteğe iletebileceğiniz bir nextPageToken bulunur.

  • pageToken

    Önceki sayfanın yanıt gövdesinden nextPageToken değerini belirtir.

  • priceLevels

    Aramayı belirli fiyat seviyelerinde işaretlenmiş yerlerle sınırlayın. Varsayılan olarak tüm fiyat seviyeleri seçilidir.

    PriceLevel ile tanımlanan bir veya daha fazla değer dizisi belirtin.

    Örneğin:

    "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
  • rankPreference

    Sorgu türüne göre sonuçların yanıtta nasıl sıralandığını belirtir:

    • "New York'taki restoranlar" gibi kategorik bir sorgu için varsayılan değer RELEVANCE'tür (sonuçları arama alaka düzeyine göre sırala). rankPreference değerini RELEVANCE veya DISTANCE olarak ayarlayabilirsiniz (sonuçları mesafeye göre sıralar).
    • "Mountain View, CA" gibi kategorik olmayan bir sorgu için rankPreference değerini ayarlamamanızı öneririz.
  • regionCode

    Yanıtı biçimlendirmek için kullanılan bölge kodu. İki karakterli CLDR kodu değeri olarak belirtilir. Bu parametre, arama sonuçlarında da önyargı etkisi yaratabilir. Varsayılan değer yoktur.

    Yanıttaki formattedAddress alanının ülke adı regionCode ile eşleşirse ülke kodu formattedAddress'ten çıkarılır. Bu parametrenin, mevcut olduğunda her zaman ülke adını içeren adrFormatAddress üzerinde veya hiçbir zaman ülke adını içermeyen shortFormattedAddress üzerinde hiçbir etkisi yoktur.

    CLDR kodlarını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) 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 kullanılır. true olarak ayarlandığında, yalnızca includeType ile belirtilen türlerle eşleşen yerler döndürülür. Yanlış olduğunda (varsayılan), yanıtta belirtilen türlerle eşleşmeyen yerler bulunabilir.

Metin arama örnekleri

Sorgu dizesine göre yer bulma

Aşağıdaki örnekte, "Sidney, Avustralya'da baharatlı vejetaryen yemekler" için bir metin arama 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 şu veri alanlarını içerdiğini belirttiğini unutmayın: places.displayName,places.formattedAddress. Yanıt şu şekildedir:

{
  "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, restoran türünü ve web adresini yanıta eklemek için places.types,places.websiteUri ekleyin:

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 şu şekilde görünür:

{
  "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 düzeyde pahalı 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, places.priceLevel veri alanını yanıta eklemek için X-Goog-FieldMask başlığı da kullanılır. Böylece yanıt şu şekilde 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ı bir bölgeyle kısıtlamak için locationRestriction veya locationBias'ı kullanın ancak ikisini birden kullanmayın. locationRestriction değerinin, sonuçların içinde olması gereken bölgeyi, locationBias değerinin ise sonuçların yakınında olması gereken ancak alanın dışında da bulunabileceği bölgeyi belirttiğini düşünün.

locationRestriction özelliğini 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 "vejetaryen yemek" için bir metin arama isteği gösterilmektedir. Bu istek yalnızca açık yerler için 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 özelliğini kullanarak bir alana yönelik önyargı

Aşağıdaki örnekte, San Francisco'nun merkezindeki bir noktadan 500 metre mesafedeki bir konuma göre "vejetaryen yemek" için yönlendirilmiş bir metin arama isteği gösterilmektedir. Bu istek yalnızca açık yerler için 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 noktalarını arama

Elektrikli aracınızla uyumlu şarj cihazlarının bulunduğu yerleri aramak için minimumChargingRateKw ve connectorTypes simgesini kullanın.

Aşağıdaki örnekte, Mountain View, CA'da minimum 10 kW şarj hızına sahip Tesla ve J1772 türü 1 elektrikli araç şarj konnektörü 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 (ör. mobil temizlik hizmeti veya yemek kamyonu) aramak için includePureServiceAreaBusinesses parametresini kullanın.

Aşağıdaki örnekte, San Francisco'da 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'

Fiziksel hizmet adresi olmayan işletmeler yanıtta 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övdesinde bulunan 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, sayfa başına 5 sonuçla sınırlı olan "New York'ta pizza" isteği 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 pageToken kullanarak nextPageToken değerini istek gövdesine gönderin:

 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"
}

Deneyin!

API Gezgini, API'ye ve API seçeneklerine aşina olabilmeniz için örnek istekler göndermenize olanak tanır.

  1. Sayfanın sağ tarafındaki API simgesini api seçin.

  2. İsteğe bağlı olarak istek parametrelerini düzenleyin.

  3. Yürüt düğmesini seçin. İletişim kutusunda, isteği göndermek için kullanmak istediğiniz hesabı seçin.

  4. API Gezgini panelinde, API Gezgini penceresini genişletmek için tam ekran simgesini tam ekran seçin.