Giriş
Yakınlarda Arama (Yeni) isteği bir veya daha fazla yer türü alır ve belirtilen alan içindeki eşleşen yerlerin listesini döndürür. Bir veya daha fazla veri türünü belirten bir alan maskesi gereklidir. Yakındaki Arama (Yeni) yalnızca POST isteklerini destekler.
API Gezgini, API ve API seçenekleri hakkında bilgi edinmek için canlı istekler göndermenize olanak tanır:
Yakındaki Arama (Yeni) sonuçlarının haritada nasıl gösterildiğini görmek için etkileşimli demoyu deneyin.
Yakında Arama (Yeni) istekleri
Yakındaki Arama (Yeni) isteği, şu biçimde bir URL'ye yönelik HTTP POST isteğidir:
https://places.googleapis.com/v1/places:searchNearby
Tüm parametreleri JSON istek gövdesinde veya üstbilgilerde POST isteğinin bir parçası olarak iletin. Örneğin:
curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "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" \
https://places.googleapis.com/v1/places:searchNearby
Yakında Arama (Yeni) yanıtları
Yakındaki Arama (Yeni), yanıt olarak bir JSON nesnesi 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.
Tam JSON nesnesi şu biçimdedir:
{
  "places": [
    {
      object (Place)
    }
  ]
}Gerekli parametreler
- 
    FieldMaskYanıt alan maskesi oluşturarak yanıtta döndürülecek alanların listesini belirtin. Yanıt alan maskesini, $fieldsveyafieldsURL parametresini ya daX-Goog-FieldMaskHTTP ü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 Yakında Arama Pro SKU'sunu tetikler: - places.accessibilityOptions
 - places.addressComponents
 - places.addressDescriptor*
 - places.adrFormatAddress
 - places.attributions
 - places.businessStatus
 - places.containingPlaces
 - places.displayName
 - places.formattedAddress
 - places.googleMapsLinks
 - places.iconBackgroundColor
 - places.iconMaskBaseUri
 - places.id
 - places.location
 - places.name**
 - places.movedPlace
 - places.movedPlaceId
 - 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 yerlerde deneyseldir.- places.googleMapsUri
 **- places.namealanı,- places/PLACE_IDbiçiminde yer kaynak adını içerir. Yerin metin adına erişmek için- places.displayNamedeğerini kullanın.
- Aşağıdaki alanlar Nearby 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 Nearby 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
 - 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
 
- 
    locationRestrictionArama yapılacak bölge, merkez noktası ve metre cinsinden yarıçap ile tanımlanan bir daire olarak belirtilir. Yarıçap, 0,0 ile 50000,0 arasında (bu değerler dahil) olmalıdır. Varsayılan yarıçap 0,0'dır. İsteğinizde 0,0'dan büyük bir değere ayarlamanız gerekir. Örneğin: "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } 
İsteğe bağlı parametreler
- 
    includedTypes/excludedTypes, includedPrimaryTypes/excludedPrimaryTypesArama sonuçlarını filtrelemek için kullanılan türler Tablo A listesinden türler belirtmenize olanak tanır. Her tür kısıtlama kategorisinde en fazla 50 tür belirtilebilir. Bir yer, kendisiyle ilişkili Tablo A türlerinden yalnızca tek bir birincil türe sahip olabilir. Örneğin, birincil tür "mexican_restaurant"veya"steak_house"olabilir. Bir yerin birincil türüyle ilgili sonuçları filtrelemek içinincludedPrimaryTypesveexcludedPrimaryTypessimgelerini kullanın.Bir yer, Tablo A'daki türlerden birden fazla tür değerine de sahip olabilir. Tablo A ile ilişkilendirilmiş. Örneğin, bir restoranın şu türleri olabilir: "seafood_restaurant","restaurant","food","point_of_interest","establishment". Bir yerle ilişkili türler listesindeki sonuçları filtrelemek içinincludedTypesveexcludedTypestuşlarını kullanın."restaurant"veya"hotel"gibi genel bir birincil tür belirttiğinizde yanıtta, belirtilen türden daha spesifik bir birincil türe sahip yerler olabilir. Örneğin,"restaurant"birincil türünü dahil etmeyi belirtirsiniz. Yanıtta, birincil türü"restaurant"olan yerler bulunabilir. Bununla birlikte, yanıtta"chinese_restaurant"veya"seafood_restaurant"gibi daha spesifik bir birincil türü olan yerler de bulunabilir.Bir arama birden fazla tür kısıtlamasıyla belirtilirse yalnızca tüm kısıtlamaları karşılayan yerler döndürülür. Örneğin, {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}değerini belirtirseniz döndürülen yerler"restaurant"ile ilgili hizmetler sunar ancak öncelikli olarak"steak_house"olarak faaliyet göstermez.includedTypesAranacak Tablo A'daki yer türlerinin virgülle ayrılmış listesi. Bu parametre atlanırsa tüm türlerdeki yerler döndürülür. excludedTypesAramadan hariç tutulacak Tablo A'daki yer türlerinin virgülle ayrılmış listesi. İstek içinde hem includedTypes( ör."school") hem deexcludedTypes(ör."primary_school") belirtirseniz yanıtta"school"olarak kategorize edilen ancak"primary_school"olarak kategorize edilmeyen yerler yer alır. Yanıtta,includedTypes'den en az biriyle eşleşen veexcludedTypes'den hiçbiriyle eşleşmeyen yerler yer alıyor.includedTypesveexcludedTypes'de aynı tür gibi çakışan türler varsaINVALID_REQUESThatası döndürülür.includedPrimaryTypesAramaya dahil edilecek A Tablosu'ndaki birincil yer türlerinin virgülle ayrılmış listesi. excludedPrimaryTypesAramadan hariç tutulacak A Tablosu'ndaki birincil yer türlerinin virgülle ayrılmış listesi. Hem includedPrimaryTypeshem deexcludedPrimaryTypesiçinde görünen bir tür gibi çakışan birincil türler varsaINVALID_ARGUMENThatası döndürülür.
- 
    languageCodeSonuç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.
- languageCodesağlanmazsa API varsayılan olarak- endeğerini kullanır. Geçersiz bir dil kodu belirtirseniz API- INVALID_ARGUMENThatası 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 göz önünde bulundurarak 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.
- Bir ad tercih edilen dilde kullanılamıyorsa 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ı yorumlar. Örneğin, sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlılar.
 
- 
    maxResultCountDöndürülecek maksimum yer sonucu sayısını belirtir. 1 ile 20 (varsayılan) arasında olmalıdır (bu değerler dahil). 
- 
    rankPreferenceKullanılacak sıralama türü. Bu parametre atlanırsa sonuçlar popülerliğe göre sıralanır. Aşağıdakilerden biri olabilir: - POPULARITY(varsayılan) Sonuçları popülerliklerine göre sıralar.
- DISTANCESonuçları, belirtilen konuma olan mesafelerine göre artan düzende sıralar.
 
- 
    regionCodeYanıtı biçimlendirmek için kullanılan bölge kodu, iki karakterli CLDR kodu değeri olarak belirtilir. Varsayılan değer yoktur. Yanıtın formattedAddressalanındaki ülke adıregionCodeile eşleşiyorsa ülke koduformattedAddressalanından çıkarılır. Bu parametrenin, her zaman ülke adını içerenadrFormatAddressveya hiçbir zaman ülke adını içermeyenshortFormattedAddressüzerinde etkisi yoktur.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. 
Yakında Arama (Yeni) örnekleri
Belirli bir türdeki yerleri bulma
Aşağıdaki örnekte, circle ile tanımlanan 500 metre yarıçapındaki tüm restoranların görünen adları için bir Yakındaki Arama (Yeni) isteği gösterilmektedir:
curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "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" \
https://places.googleapis.com/v1/places:searchNearby
X-Goog-FieldMask başlığının, yanıtta places.displayName veri alanlarının bulunduğunu belirttiğini unutmayın.
Yanıt şu biçimde olur:
{ "places": [ { "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, { "displayName": { "text": "Harborview Restaurant & Bar", "languageCode": "en" } }, ... }
Ek bilgiler döndürmek için alan maskesine daha fazla veri türü ekleyin.
Örneğin, restorana ait adres, tür ve web adresini yanıta eklemek için places.formattedAddress,places.types,places.websiteUri simgesini ekleyin:
curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "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,places.types,places.websiteUri" \
https://places.googleapis.com/v1/places:searchNearby
Yanıt artık formda yer alıyor:
{ "places": [ { "types": [ "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA", "websiteUri": "http://lamarsf.com/", "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "types": [ "greek_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA", "websiteUri": "https://kokkari.com/", "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, ... }
Birden fazla türde yer bulma
Aşağıdaki örnekte, belirtilen circle konumunun 1.000 metre yarıçapındaki tüm marketlerin ve içki dükkanlarının görünen adları için bir Yakındaki Arama (Yeni) isteği gösterilmektedir:
curl -X POST -d '{
  "includedTypes": ["liquor_store", "convenience_store"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \
https://places.googleapis.com/v1/places:searchNearby
places.primaryType ve places.types ekleniyor. Böylece sonuçlardan uygun yerin seçilmesi kolaylaşıyor.
Bir yer türünü aramadan hariç tutma
Aşağıdaki örnekte, "primary_school" türündeki tüm yerler hariç olmak üzere "school" türündeki tüm yerler için Yakınlarda Arama (Yeni) isteği gösterilmektedir. Sonuçlar mesafeye göre sıralanır:
curl -X POST -d '{
  "includedTypes": ["school"],
  "excludedTypes": ["primary_school"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  },
  "rankPreference": "DISTANCE"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby
Bir bölgenin yakınındaki tüm yerleri mesafeye göre sıralayarak arama
Aşağıdaki örnekte, San Francisco şehir merkezindeki bir noktanın yakınındaki yerler için bir Yakın Arama (Yeni) isteği gösterilmektedir. Bu örnekte, sonuçları mesafeye göre sıralamak için rankPreference parametresini ekliyorsunuz:
curl -X POST -d '{
  "maxResultCount": 10,
  "rankPreference": "DISTANCE",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby
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 Yakındaki Arama (Yeni) isteği gösterilmektedir. Bu örnekte, alan maskesine addressDescriptors
  eklersiniz:
curl -X POST -d '{
  "maxResultCount": 5,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.321328,
        "longitude": -121.946275
      },"radius": 1000
    }
  },
  "includedTypes": ["restaurant", "cafe"],
  "excludedTypes": [],
  "rankPreference":"POPULARITY"
}' \
-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:searchNearby
Yanıt; istekte belirtilen yeri, yakındaki önemli yerlerin listesini ve bu yerlerin belirtilen yere olan mesafesini, ayrıca alanların listesini ve bu alanların belirtilen yerle olan kapsama ilişkisini içerir:
{ "places": [ { "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "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": 114.76984, "travelDistanceMeters": 114.261856 }, { "name": "places/ChIJgexMlR_Lj4ARiKCKuhNnjn0", "placeId": "ChIJgexMlR_Lj4ARiKCKuhNnjn0", "displayName": { "text": "Valley Fair Mall Eyexam of CA", "languageCode": "en" }, "types": [ "establishment", "health", "point_of_interest" ], "straightLineDistanceMeters": 131.62566, "travelDistanceMeters": 237.33253 }, { "name": "places/ChIJWWIlNx7Lj4ARpe1E0ob-_GI", "placeId": "ChIJWWIlNx7Lj4ARpe1E0ob-_GI", "displayName": { "text": "Din Tai Fung", "languageCode": "en" }, "types": [ "establishment", "food", "point_of_interest", "restaurant" ], "straightLineDistanceMeters": 110.0775, "travelDistanceMeters": 171.41951 }, { "name": "places/ChIJwyfPQx7Lj4AR7bYI2A2Yc54", "placeId": "ChIJwyfPQx7Lj4AR7bYI2A2Yc54", "displayName": { "text": "Abercrombie & Fitch", "languageCode": "en" }, "types": [ "clothing_store", "establishment", "point_of_interest", "shoe_store", "store" ], "spatialRelationship": "DOWN_THE_ROAD", "straightLineDistanceMeters": 53.620117, "travelDistanceMeters": 2.4578214 }, { "name": "places/ChIJpycNQx7Lj4ARjhXw3PrM_kU", "placeId": "ChIJpycNQx7Lj4ARjhXw3PrM_kU", "displayName": { "text": "Hollister Co.", "languageCode": "en" }, "types": [ "clothing_store", "establishment", "point_of_interest", "shoe_store", "store" ], "spatialRelationship": "DOWN_THE_ROAD", "straightLineDistanceMeters": 56.53726, "travelDistanceMeters": 15.418246 } ], "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": "OUTSKIRTS" } ] } }, /.../ }
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.