Otomatik Tamamlama (Yeni) hizmeti, bir HTTP isteğine yanıt olarak yer tahminleri ve sorgu tahminleri döndüren bir web hizmetidir. İstekte, arama alanını kontrol eden bir metin arama dizesi ve coğrafi sınırlar belirtin.
Otomatik Tamamlama (Yeni) hizmeti, yer adlarını, adresleri ve plus kodlarını çözerek girişin tam kelimelerini ve alt dizelerini eşleştirebilir. Bu nedenle uygulamalar, anında yer ve sorgu tahminleri sağlamak için kullanıcı yazarken sorgu gönderebilir.
Autocomplete (Yeni) API'den gelen yanıt iki tür tahmin içerebilir:
- Yer tahminleri: Belirtilen giriş metin dizesine ve arama alanına göre işletmeler, adresler ve önemli yerler gibi yerler. Yer tahminleri varsayılan olarak döndürülür.
- Sorgu tahminleri: Giriş metin dizesi ve arama alanıyla eşleşen sorgu dizeleri. Sorgu tahminleri varsayılan olarak döndürülmez. Yanıta sorgu tahminleri eklemek için
includeQueryPredictions
istek parametresini kullanın.
Örneğin, giriş olarak kısmi bir kullanıcı girişi içeren bir dize (ör. "Sicilya piz") kullanarak API'yi çağırırsınız. Arama alanı, San Francisco, CA ile sınırlıdır. Ardından yanıtta, arama dizesi ve arama alanıyla eşleşen yer tahminlerinin listesi (ör. "Sicilian Pizza Kitchen" adlı restoran) ve yerle ilgili ayrıntılar yer alır.
Döndürülen yer tahminleri, kullanıcının istediği yeri seçmesine yardımcı olmak için kullanıcıya sunulmak üzere tasarlanmıştır. Döndürülen yer tahminlerinden herhangi biri hakkında daha fazla bilgi edinmek için Yer Ayrıntıları (Yeni) isteği gönderebilirsiniz.
Yanıtta, arama dizesi ve arama alanıyla eşleşen sorgu tahminlerinin listesi de bulunabilir (ör. "Sicilya Pizza ve Makarna"). Yanıttaki her sorgu tahmini, önerilen bir metin arama dizesi içeren text
alanını içerir. Daha ayrıntılı bir arama yapmak için bu dizeyi Metin Arama (Yeni)'ye giriş olarak kullanın.
API Gezgini, API'ye ve API seçeneklerine aşina olabilmeniz için canlı istek göndermenize olanak tanır:
Otomatik Tamamlama (Yeni) istekleri
Otomatik Tamamlama (Yeni) isteği, aşağıdaki biçimde bir URL'ye gönderilen bir HTTP POST isteğidir:
https://places.googleapis.com/v1/places:autocomplete
Tüm parametreleri, POST isteğinin bir parçası olarak JSON istek gövdesinde veya üstbilgilerde iletin. Örneğin:
curl -X POST -d '{ "input": "pizza", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Desteklenen parametreler
Parametre |
Açıklama |
---|---|
Aramaya dahil edilecek metin dizesi (tam kelimeler, alt dizeler, yer adları, adresler, artı kodları). |
|
|
Yanıtta hangi alanların döndürüleceğini belirten, virgülle ayrılmış bir liste. |
Sonuçları, belirtilen beş birincil türden biriyle eşleşen yerlerle sınırlandırır. |
|
Doğru ise fiziksel konumu olmayan işletmeleri (hizmet bölgesi işletmeleri) içerir. Varsayılan değer yanlıştır. |
|
Doğru ise yanıta hem yer hem de sorgu tahminleri dahil edilir. Varsayılan değer yanlıştır. |
|
Sonuçları kısıtlayacak en fazla 15 iki karakterli ülke kodu dizisi. |
|
Giriş dizesindeki imleç konumunun sıfır tabanlı Unicode karakter ofsetidir. Tahminleri etkiler. Varsayılan olarak giriş uzunluğuna ayarlanır. |
|
Sonuçlar için tercih edilen dil (IETF BCP-47 kodu). Varsayılan olarak Accept-Language üstbilgisi veya "tr" kullanılır. |
|
Arama sonuçlarının ağırlıklı olarak gösterileceği bir alanı (çember veya dikdörtgen) belirtir ve bu alanın dışındaki sonuçlara izin verir. locationRestriction ile kullanılamaz. |
|
Arama sonuçlarını kısıtlayacak bir alanı (daire veya dikdörtgen) belirtir. Bu alanın dışındaki sonuçlar hariç tutulur. locationBias ile kullanılamaz. |
|
Tahmin edilen hedeflere olan düz çizgi mesafesini (distanceMeters) hesaplamak için kullanılan başlangıç noktası (enlem, boylam). |
|
Yanıtı ve önyargı önerilerini biçimlendirmek için kullanılan bölge kodu (ör. 'uk', 'fr'). |
|
Faturalandırma amacıyla Otomatik Tamamlama çağrılarını oturumda gruplandırmak için kullanıcı tarafından oluşturulan bir dize. |
Yanıt hakkında
Otomatik tamamlama (Yeni), yanıt olarak bir JSON nesnesi döndürür. Yanıtta:
suggestions
dizisi, tahmin edilen tüm yerleri ve sorguları algılanan alaka düzeylerine göre sırayla içerir. Her yer birplacePrediction
alanıyla, her sorgu ise birqueryPrediction
alanıyla temsil edilir.placePrediction
alanı, yer kimliği ve metin açıklaması da dahil olmak üzere tek bir yer tahminiyle ilgili ayrıntılı bilgiler içerir.queryPrediction
alanı, tek bir sorgu tahminiyle ilgili ayrıntılı bilgileri içerir.
JSON nesnesinin tamamı şu şekildedir:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 }] }, ... }, { "queryPrediction": { "text": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 }] }, ... } ...] }
Gerekli parametreler
-
giriş
Aramanın yapılacağı metin dizesi. Tam kelimeleri ve alt dizeleri, yer adlarını, adresleri ve artı kodlarını belirtin. Otomatik Tamamlama (Yeni) hizmeti, 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
-
FieldMask
Yanıt alanı maskesi oluşturarak yanıtta döndürülecek alanların listesini belirtin. HTTP üst bilgisi
X-Goog-FieldMask
'ü kullanarak yanıt alanı maskesini yönteme iletin.Döndürülecek öneri alanlarının virgülle ayrılmış listesini belirtin. Örneğin, önerinin
suggestions.placePrediction.text.text
vesuggestions.queryPrediction.text.text
değerini almak için:X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text
Tüm alanları almak için
*
değerini kullanın.X-Goog-FieldMask: *
-
includedPrimaryTypes
Bir yerin A Tablosu veya B Tablosu'nda listelenen türlerden yalnızca tek bir birincil türü olabilir. Örneğin, birincil tür
"mexican_restaurant"
veya"steak_house"
olabilir.API varsayılan olarak, yerle ilişkili birincil tür değerinden bağımsız olarak tüm yerleri
input
parametresine göre döndürür.includedPrimaryTypes
parametresini ileterek sonuçları belirli bir birincil tür veya birincil türlerle sınırlandırın.Tablo A veya Tablo B'den en fazla beş tür değeri belirtmek için bu parametreyi kullanın. Bir yer, yanıta dahil edilmek için belirtilen birincil tür değerlerinden biriyle eşleşmelidir.
Bu parametre, bunun yerine
(regions)
veya(cities)
değerlerinden birini de içerebilir.(regions)
türü koleksiyonu, mahalle ve posta kodu gibi alanlara veya bölümlere göre filtreler uygular.(cities)
türü koleksiyonu, Google'ın şehir olarak tanımladığı yerleri filtreler.Aşağıdaki durumlarda istek
INVALID_REQUEST
hatasıyla reddedilir:- Beşten fazla tür belirtilmiş.
(cities)
veya(regions)
'a ek olarak herhangi bir tür belirtilir.- Tanınmayan türler belirtilir.
-
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. -
includeQueryPredictions
true
ise yanıt hem yer hem de sorgu tahminlerini içerir. Varsayılan değerfalse
'tür. Bu, yanıtın yalnızca yer tahminlerini içerdiği anlamına gelir. -
includedRegionCodes
Yalnızca belirtilen bölgelerin listesinden gelen sonuçları dahil eder. Bu liste, en fazla 15 ccTLD ("üst düzey alan") iki karakterli değer dizisi olarak belirtilir. Atlanırsa yanıta herhangi bir kısıtlama uygulanmaz. Örneğin, bölgeleri Almanya ve Fransa ile sınırlamak için:
"includedRegionCodes": ["de", "fr"]
Hem
locationRestriction
hem deincludedRegionCodes
'ü belirtirseniz sonuçlar, iki ayarın kesişim alanında bulunur. -
inputOffset
input
içindeki imleç konumunu belirten sıfır tabanlı Unicode karakter ofseti. İmlecin konumu, döndürülen tahminleri etkileyebilir. Boş bırakılırsa varsayılan olarakinput
uzunluğuna ayarlanır. -
languageCode
Sonuçların döndürüleceği tercih edilen dil.
input
'te kullanılan dillanguageCode
tarafından belirtilen değerden farklıysa veya döndürülen yerin yerel dildenlanguageCode
'e çevirisi yoksa sonuçlar karma dillerde olabilir.- Tercih edilen dili belirtmek için IETF BCP-47 dil kodlarını kullanmanız gerekir.
-
languageCode
sağlanmazsa API,Accept-Language
başlığında belirtilen değeri kullanır. Hiçbiri belirtilmezse varsayılan olaraken
kullanılır. Geçersiz bir dil kodu belirtirseniz APIINVALID_ARGUMENT
hatası döndürü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. Bu durum, API'nin yazım hatalarını düzeltme özelliğini de etkiler.
-
API, hem kullanıcı hem de yerel nüfus için okunaklı olan ve aynı zamanda kullanıcı girişini yansıtan bir sokak adresi sağlamaya çalışır. Yer tahminleri, her istekteki kullanıcı girişine bağlı olarak farklı şekilde biçimlendirilir.
-
Öncelikle
input
parametresindeki eşleşen terimler seçilir. Mevcut olduğundalanguageCode
parametresi tarafından belirtilen dil tercihine uygun adlar kullanılır. Aksi takdirde, kullanıcı girişiyle en iyi eşleşen adlar kullanılır. -
Cadde adresleri, yerel dilde ve mümkün olduğunda kullanıcı tarafından okunabilen bir komut dosyasında biçimlendirilir. Bu işlem, yalnızca
input
parametresindeki terimlerle eşleşen terimler seçildikten sonra yapılır. -
Diğer tüm adresler, eşleşen terimler
input
parametresindeki terimlerle eşleşecek şekilde seçildikten sonra tercih edilen dilde döndürülür. Tercih edilen dilde bulunmayan bir ad varsa API en yakın eşlemeyi kullanır.
-
Öncelikle
locationBias veya locationRestriction
Arama alanını tanımlamak için
locationBias
veyalocationRestriction
ikilisinden birini belirtebilirsiniz; ikisini birden belirtmeyin.locationRestriction
değerinin, sonuçların içinde olması gereken bölgeyi belirttiğini,locationBias
değerinin ise sonuçların yakınında olması gereken ancak alanın dışında olabileceği bölgeyi belirttiğini düşünün.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
Arama yapılacak bir alanı belirtir. Belirtilen alanın dışındaki sonuçlar döndürülmez.
locationBias
veyalocationRestriction
bölgesini 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 değer 0,0'dır.
locationRestriction
için yarıçapı 0,0'dan büyük bir değere ayarlamanız gerekir. Aksi takdirde istek hiçbir sonuç döndürmez.Örneğin:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Dikdörtgen, iki çapraz karşıt
low
ve yüksek nokta olarak temsil edilen bir enlem-boylam görüntü alanıdır. 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ı tek bir 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 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.
Hem
low
hem dehigh
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 içine alır:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
-
kaynak
Hedefe olan düz çizgi mesafesinin hesaplanacağı başlangıç noktası (
distanceMeters
olarak döndürülür). Bu değer atlanırsa düz çizgi mesafesi döndürülmez. Enlem ve boylam koordinatları olarak belirtilmelidir:"origin": { "latitude": 40.477398, "longitude": -74.259087 }
-
regionCode
Yanıtı biçimlendirmek için kullanılan bölge kodu. ccTLD ("üst düzey alan") iki karakterli bir değer olarak belirtilir. Bazı önemli istisnalar dışında, çoğu ccTLD 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).
Öneriler, bölge kodlarına göre de önyargılı olabilir. Google,
regionCode
değerini kullanıcının bölgesel tercihine göre ayarlamanızı önerir.Geçersiz bir bölge kodu belirtirseniz API
INVALID_ARGUMENT
hatası verir. Parametre, geçerli yasaya göre sonuçları etkileyebilir. -
sessionToken
Oturum jetonları, Otomatik Tamamlama (Yeni) çağrılarını "oturumlar" olarak izleyen, kullanıcı tarafından oluşturulan dizelerdir. Otomatik Tamamlama (Yeni), faturalandırma amacıyla kullanıcı otomatik tamamlama aramasının sorgu ve seçim aşamalarını ayrı bir oturumda gruplandırmak için oturum jetonlarını kullanır. Daha fazla bilgi için Oturum jetonları bölümüne bakın.
Sonuçları etkileyecek parametreler seçme
Otomatik tamamlama (yeni) parametreleri, arama sonuçlarını farklı şekilde etkileyebilir. Aşağıdaki tabloda, istenen sonuca göre parametre kullanımıyla ilgili öneriler verilmiştir.Parametre | Kullanım önerisi |
---|---|
regionBias |
Kullanıcının bölgesel tercihine göre ayarlanır. |
includedRegionCodes |
Sonuçları, belirtilen bölgelerin listesiyle sınırlandıracak şekilde ayarlayın. |
locationBias |
Bir bölgede veya bölgedeki bir yerde sonuçlar tercih edildiğinde kullanın. Varsa bölgeyi, kullanıcının baktığı haritanın görüntü alanı olarak tanımlayın. |
locationRestriction |
Bir bölgenin dışındaki sonuçların iade edilmemesi gerektiğinde yalnızca kullanın. |
origin |
Her tahmin için doğrusal mesafe hesaplanmasını istediğinizde kullanın. |
Otomatik tamamlama (yeni) örnekleri
locationRestriction kullanarak aramayı bir alanla sınırlama
locationRestriction
, aranacak alanı belirtir. Belirtilen alanın dışındaki sonuçlar döndürülmez. Aşağıdaki örnekte, isteği San Francisco'nun merkezinde yarıçapı 5.000 metre olan bir çemberle sınırlamak için locationRestriction
kullanıyorsunuz:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Belirtilen alanların içindeki tüm sonuçlar suggestions
dizisinde bulunur:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "establishment", "museum", "point_of_interest" ] } }, { "placePrediction": { "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w", "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w", "text": { "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA", "matches": [ { "endOffset": 15 } ] }, "structuredFormat": { "mainText": { "text": "de Young Museum", "matches": [ { "endOffset": 15 } ] }, "secondaryText": { "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "tourist_attraction", "museum" ] } }, /.../ ] }
Aramaları dikdörtgen bir görüntü alanıyla sınırlamak için locationRestriction
simgesini de kullanabilirsiniz. Aşağıdaki örnekte istek, San Francisco şehir merkeziyle sınırlandırılmıştır:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Sonuçlar suggestions
dizisinde yer alır:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "museum", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc", "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc", "text": { "text": "International Art Museum of America, Market Street, San Francisco, CA, USA", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "structuredFormat": { "mainText": { "text": "International Art Museum of America", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "secondaryText": { "text": "Market Street, San Francisco, CA, USA" } }, "types": [ "museum", "point_of_interest", "tourist_attraction", "art_gallery", "establishment" ] } } ] }
locationBias kullanarak bir alana yönelik aramayı önyargısız hale getirme
locationBias
ile 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. Aşağıdaki örnekte, isteği San Francisco şehir merkezine yönlendiriyorsunuz:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Sonuçlar artık 5.000 metre yarıçapının dışındaki sonuçlar da dahil olmak üzere çok daha fazla öğe içeriyor:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "store", "establishment", "home_goods_store" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "establishment", "home_goods_store", "store" ] } }, ... ] }
Aramaları dikdörtgen bir görüntü alanıyla sınırlamak için locationBias
simgesini de kullanabilirsiniz. Aşağıdaki örnekte istek, San Francisco şehir merkeziyle sınırlandırılmıştır:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Dikdörtgen görüntü alanındaki arama sonuçları yanıtta görünse de bazı sonuçlar, önyargı nedeniyle tanımlanan sınırların dışındadır. Sonuçlar suggestions
dizisinde de yer alır:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI", "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI", "text": { "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Hollywood Boulevard, Los Angeles, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, /.../ ] }
includedPrimaryTypes özelliğini kullanma
Tablo A,
Tablo B veya yalnızca (regions)
ya da yalnızca (cities)
'den en fazla beş tür değeri belirtmek için includedPrimaryTypes
parametresini kullanın. Bir yer, yanıta dahil edilmek için belirtilen birincil tür değerlerinden biriyle eşleşmelidir.
Aşağıdaki örnekte, "Futbol" input
dizesi belirtilmiş ve sonuçları "sporting_goods_store"
türündeki tesislerle sınırlandırmak için includedPrimaryTypes
parametresi kullanılmıştır:
curl -X POST -d '{ "input": "Soccer", "includedPrimaryTypes": ["sporting_goods_store"], "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
includedPrimaryTypes
parametresini atlarsanız sonuçlarda "athletic_field"
gibi istemediğiniz türde tesisler bulunabilir.
Sorgu tahminleri isteme
Sorgu tahminleri varsayılan olarak döndürülmez. Yanıta sorgu tahminleri eklemek için includeQueryPredictions
istek parametresini kullanın. Örneğin:
curl -X POST -d '{ "input": "Amoeba", "includeQueryPredictions": true, "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
suggestions
dizisi artık yukarıdaki Yanıt hakkında bölümünde gösterildiği gibi hem yer tahminlerini hem de sorgu tahminlerini içerir. Her sorgu tahmini, önerilen bir metin arama dizesi içeren text
alanını içerir. Döndürülen sorgu tahminlerinden herhangi biri hakkında daha fazla bilgi edinmek için Metin Arama (Yeni) isteği gönderebilirsiniz.
Kaynağı kullanın
Bu örnekte, origin
değerini enlem ve boylam koordinatları olarak isteğe ekleyin.
origin
eklediğinizde API, yanıta origin
ile hedef arasındaki düz çizgi mesafesini içeren distanceMeters
alanını ekler.
Bu örnekte, başlangıç noktası San Francisco'nun merkezi olarak ayarlanmıştır:
curl -X POST -d '{ "input": "Amoeba", "origin": { "latitude": 37.7749, "longitude": -122.4194 }, "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Yanıt artık distanceMeters
içeriyor:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "home_goods_store", "establishment", "point_of_interest", "store", "electronics_store" ], "distanceMeters": 3012 } } ] }
Yanıtta mesafe eksik
Bazı durumlarda, origin
isteğe dahil edilmiş olsa bile yanıt metninde distanceMeters
eksiktir. Bu durum aşağıdaki senaryolarda ortaya çıkabilir:
distanceMeters
,route
tahminlerine dahil edilmez.distanceMeters
, değeri0
olduğunda dahil edilmez. Bu durum, sağlananorigin
konumundan 1 metreden daha uzak tahminler için geçerlidir.
Ayrıştırılmış bir nesneden distanceMeters
alanını okumaya çalışan istemci kitaplıkları, 0
değerine sahip bir alan döndürür. Kullanıcıları yanıltmamak için sıfır mesafe göstermeyin.
Deneyin!
API Gezgini, API'ye ve API seçeneklerine aşina olabilmeniz 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 panelinde, API Gezgini penceresini genişletmek için tam ekran simgesini tam ekran seçin.