Otomatik tamamlama (Yeni) hizmeti, tahminleri ve sorgu tahminlerini görebilirsiniz. İstekte bir metin belirtin arama dizesini ve arama alanını kontrol eden coğrafi sınırları içerir.
Otomatik Tamamlama (Yeni) hizmeti, giriş alt dizelerini kullanarak yer adlarını, adresleri ve artı kodları kullanabilirsiniz. Uygulamalar bu nedenle o anda yer ve sorgu tahminleri sağlamak için kullanıcı girişi sorgularını kullanın.
Autocomplete (Yeni) API'den gelen yanıt iki tür içerebilir bir dizi tahmin:
- Yer tahminleri: İşletmeler, adresler ve farklı yerler ilgi alanı (belirtilen giriş metni dizesine ve arama alanına göre) Yer tahminleri varsayılan olarak döndürülür.
- Sorgu tahminleri: Giriş metni dizesiyle eşleşen sorgu dizeleri ve
alanı seçin. Sorgu tahminleri varsayılan olarak döndürülmez. Şunu kullanın:
includeQueryPredictions
istek parametresinden tıklayın.
Örneğin, kısmi kullanıcı girişi içeren bir dize kullanarak API'yi çağırırsınız. Arama alanı San Francisco, Kaliforniya ile sınırlandırılmıştır. Yanıtta, arama dizesi ve arama alanıyla eşleşen yer tahminlerinin listesi (örneğin, ve yerle ilgili bilgilerle birlikte "Sicilian Pizza Kitchen" adlı restoran.
Döndürülen yer tahminleri, kullanıcıya yardımcı olmak amacıyla sunulacak şekilde tasarlanmıştır seçmelerine yardımcı oluyor. Bu URL'yi Yer Ayrıntıları (Yeni) için istekte bulunabilirsiniz.
Yanıt,
arama dizesi ve arama alanı gibi Pasta" yazın. Bu bölümdeki her sorgu tahmini
yanıt, önerilen metin arama dizesi içeren text
alanını içeriyor. Onu kullan
dizesi için
Metin Arama (Yeni)
kullanabilirsiniz.
API Gezgini, API'yi ve sunulan API'yi tanıyabilmeniz için canlı isteklerde bulunmanızı sağlar. API seçenekleri:
Deneyin.Otomatik tamamlama (Yeni) istekleri
Otomatik Tamamlama (Yeni) isteği, şu formu kullanın:
https://places.googleapis.com/v1/places:autocomplete
JSON isteği gövdesindeki veya başlıklardaki tüm parametreleri POST isteğinin bir parçası olarak 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
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ı sırasıyla içerir. bir kitle oluşturabilirsiniz. Her yer birplacePrediction
alanı ve her sorgu temsil edilirqueryPrediction
alanına göre.placePrediction
alanı, tek bir öğe hakkında ayrıntılı bilgi içerir yer tahmini (yer kimliği ve metin açıklaması dahil) içerir.queryPrediction
alanı, tek bir öğe hakkında ayrıntılı bilgi içerir sorgu tahmininde bulunun.
JSON nesnesinin tamamı aşağıdaki biçimdedir:
{ "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ş
Arama yapılacak metin dizesi. Tam kelimeleri ve alt dizeleri belirtin, Yer adları, adresler ve artı kodları. Otomatik tamamlama (Yeni) hizmeti bu dizeye göre aday eşleşmeleri döndürür ve sonuçları şuna göre sıralar: alaka düzeyi için kritik önem taşır.
İsteğe bağlı parametreler
-
includedPrimaryTypes
Bir yerin, şurada listelenen türlerden yalnızca tek bir birincil türü olabilir: Tablo A veya B Tablosu. Örneğin, birincil tür,
"mexican_restaurant"
veya"steak_house"
olabilir.API, varsayılan olarak
input
parametresine göre tüm yerleri döndürür. yerle ilişkili birincil tür değeridir. Sonuçları belirli bir değere sahip olacak şekilde kısıtla birincil tür veya birincil türler içinincludedPrimaryTypes
parametresini iletin.Tablo A'dan en fazla beş tür değeri belirtmek için bu parametreyi kullanın veya Tablo B. Bir yer, yanıta dahil edilecek, belirtilen birincil tür değerlerinden biriyle eşleşmelidir.
Bu parametre, bunun yerine
(regions)
veya(cities)
özelliklerinden birini de içerebilir. Mahalleler ve posta kodları gibi alanlar veya bölümler için(regions)
türü toplama filtreleri. Google'ın şehir olarak tanımladığı yerler için(cities)
türündeki toplama filtreleri.Aşağıdaki durumlarda istek
INVALID_REQUEST
hatasıyla reddedilir:- Beşten fazla tür belirtilmiş.
(cities)
veya(regions)
öğesine ek olarak tüm türler belirtilir.- Tanınmayan türler belirtilmiş.
-
includeQueryPredictions
true
ise yanıt, hem yer hem de sorgu tahminlerini içerir. Varsayılan değerifalse
. Yanıt, yalnızca yer tahminlerini içerir. -
includedRegionCodes
En fazla 15 karakterlik bir dizi olarak belirtilen, belirtilen bölgeler listesindeki sonuçları dahil et ccTLD ("üst düzey alan") iki karakterli değerler sunmalıdır. Atlanırsa yanıta herhangi bir kısıtlama uygulanmaz. Örneğin, Almanya ve Fransa ile sınırlandırmak için:
"includedRegionCodes": ["de", "fr"]
Hem
locationRestriction
hem deincludedRegionCodes
öğesini belirtirseniz sonuçlar, iki ayarın kesişim alanında bulunur. -
inputOffset
input
içindeki imleç konumunu gösteren sıfır tabanlı Unicode karakter farkı. İmleç konumu, hangi tahminlerin döndürüleceğini etkileyebilir. Boşsa varsayılan olarakinput
uzunluk. -
languageCode
Sonuçların döndürüleceği tercih edilen dil. Sonuçlar karışık dillerde olabilir
input
içinde kullanılan dil,languageCode
veya iade edilen yerin yerel dililanguageCode
olarak ayarla.- Şunu kullanmanız gerekir: IETF BCP-47 dil kodları kullanın.
-
languageCode
sağlanmazsa API,Accept-Language
üstbilgisi. İkisi de belirtilmezse varsayılan olaraken
Geçersiz bir dil kodu belirtirseniz API,INVALID_ARGUMENT
hata. - Tercih edilen dilin, arama sonuçlarında görünen döndürmeyi seçtiği sıra ve bunların döndürülme sırasına göre belirlenir. Bu durum, API'nin yazım hatalarını düzeltme becerisini de etkiler.
-
API, hem kullanıcı hem de kullanıcı için okunabilen bir açık adres sağlamaya çalışır
aynı zamanda kullanıcı girdisini yansıtır. Yer tahminleri
ve istekteki kullanıcı girişine bağlı olarak farklı şekillerde biçimlendirilir.
-
input
parametresindeki eşleşen terimler, hizalı adlar kullanılarak ilk olarak seçilir. aşağıdaki durumlardalanguageCode
parametresi tarafından belirtilen dil tercihiyle kullanılabilir, ancak kullanıcı girişiyle en iyi eşleşen adlar kullanılır. -
Açık adresler yerel dilde, kullanıcı tarafından okunabilecek bir alfabede biçimlendirilir
yalnızca anahtar kelime listesindeki terimlerle eşleşecek şekilde eşleşen terimler seçildikten sonra
input
parametresinden yararlanın. -
Tüm diğer adresler, eşleşen terimlerden sonra tercih edilen dilde döndürülür
input
parametresindeki terimlerle eşleşecek şekilde seçildi. Ad dil varsa API en yakın eşleşmeyi kullanır.
-
Konum ön yargıları veya konum Kısıtlaması
locationBias
veyalocationRestriction
, kullanın.locationRestriction
yerine sonuçların içinde olması gereken bölge velocationBias
olarak sonuçların yakınında olması gereken ancak dışında olabilecek bölgeyi belirtmek inceleyeceğiz.locationBias
Aranacak alanı belirtir. Bu konum, belirli bir belirtilen konumun etrafındaki sonuçlar, şunun sonuçları da dahil olmak üzere döndürülebilir: belirtilen alanın dışına çıktı.
locationRestriction
Aranacak alanı belirtir. Belirtilen alanın dışındaki sonuçlar geri döndü.
locationBias
veyalocationRestriction
bölgesini bir dikdörtgen görünüm veya daire şeklinde.Bir daire, merkez noktası ve metre cinsinden yarıçapla tanımlanır. Yarıçap şunun arasında olmalıdır: 0,0 ve 50000,0 (bu değerler dahil) 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, sonuç yok.Örneğin:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Dikdörtgen, iki şekilde gösterilen enlem-boylam görünümüdür
low
yönünde ve yüksek noktaların karşısında çapraz olarak çapraz olarak bulunur. Görüntü alanı, yani kendi sınırını içerir. Enlem sınırları -90 ile 90 derece (her ikisi de dahil) arasında olmalı ve boylam sınırları -180 ile 180 derece (her iki değer dahil) arasında olmalıdır:low
=high
olursa, görüntü alanı bu tek noktadan oluşur.- Eğer
low.longitude
>high.longitude
, boylam aralığı ters çevrilmiş (görüntü alanı 180 derecelik 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ş.
Hem
low
hem dehigh
doldurulmalı ve gösterilen kutu doldurulmalıdır boş bırakılamaz. Boş görüntü alanı hatayla sonuçlanır.Örneğin, bu görüntü alanı New York City'yi tamamen kapsar:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
-
kaynak
Hedefe olan düz çizgi uzaklığının hesaplanacağı başlangıç noktası hedef (
distanceMeters
olarak döndürülür). Bu değer atlanırsa, düz çizgi mesafesi döndürülmez. Şu şekilde belirtilmelidir: enlem ve boylam koordinatları:"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 karakterlik değer. Çoğu ccTLD kodu, ISO 3166-1 kodlarıyla aynıdır. bazı önemli istisnalarla birlikte. Örneğin, Birleşik Krallık'ın ccTLD'si "uk" (.co.uk), ISO 3166-1 kodu "gb" ise (teknik olarak "Büyük Britanya ve Kuzey İrlanda Birleşik Krallığı").
Geçersiz bir bölge kodu belirtirseniz API bir
INVALID_ARGUMENT
döndürür. hatası. Parametre, geçerli yasalara göre sonuçları etkileyebilir. -
sessionToken
Oturum jetonları Otomatik Tamamlama'yı izleyen kullanıcı tarafından oluşturulmuş dizelerdir (Yeni) aramaları "oturumlar" olarak adlandırılır. Otomatik Tamamlama (Yeni), şunları yapmak için oturum jetonlarını kullanır: Kullanıcı otomatik tamamlama aramasının sorgu ve seçim aşamalarını ayrı bir oturumda . Daha fazla bilgi için bkz. Oturum jetonları.
Otomatik tamamlama (Yeni) örnekleri
Konum kısıtlaması ve konum önerileri kullan
API, arama alanını kontrol etmek için varsayılan olarak IP ağırlıklandırmayı kullanır. IP'ye ağırlık vermede API,
Sonuçlarda sapmalar oluşturmak için cihazın IP adresi. İsterseniz
Arama yapılacak bir alan belirtmek için locationRestriction
veya locationBias
(ikisi birden değil).
locationRestriction
, aranacak alanı belirtir. Belirtilen alanın dışındaki sonuçlar
döndürülmez. Aşağıdaki örnekte, locationRestriction
merkezî yarıçapı San Francisco merkezli 5000 metre mesafedeki bir daire için istek oluştur:
curl -X POST -d '{ "input": "Amoeba", "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 alanlardan gelen tüm sonuçlar suggestions
dizisinde 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": [ "home_goods_store", "establishment", "store", "point_of_interest", "electronics_store" ] } } ] }
locationBias
ile konum, önyargı olarak değerlendirilebilir ve bu da
belirtilen alanın dışındaki sonuçlar da dahil olmak üzere belirtilen konum döndürülebilir. Sonraki
locationBias
öğesini kullanmak için isteği değiştirdiğinizde:
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, 5000 metre yarıçapı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" ] } }, ... ] }
includePrimaryTypes örneğinde olduğu gibi,
Şundan en fazla beş tür değeri belirtmek için includedPrimaryTypes
parametresini kullanın:
Tablo A,
Tablo B,
veya yalnızca (regions)
ya da yalnızca (cities)
. Yer, belirtilen yerlerden biriyle eşleşmelidir
yanıta dahil edilecek birincil tür değerleri.
Aşağıdaki örnekte, bir input
dizesi
"Futbol" ve sonuçları şununla sınırlamak için includedPrimaryTypes
parametresini kullanın:
"sporting_goods_store"
türü kuruluşlar:
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 çıkarırsanız sonuçlar
istemediğiniz türden kuruluşlar, örneğin "athletic_field"
.
Sorgu tahminleri isteme
Sorgu tahminleri varsayılan olarak döndürülmez. includeQueryPredictions
kullanın
request 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 hem yer hem de sorgu tahminleri içeriyor
Yukarıdaki Yanıt hakkında bölümünde gösterildiği gibi. Her bir sorgu tahmini
önerilen metin arama dizesi içeren text
alanını içerir. Bu URL'yi
Metin Arama (Yeni)
isteği gönderir.
Kaynağı kullan
Bu örnekte, enlem ve boylam koordinatları olarak isteğe origin
ekleyin.
origin
öğesini eklediğinizde API, distanceMeters
alanını
origin
ile hedefe arasındaki düz çizgiyi içeren yanıt.
Bu örnekte başlangıç noktası San Francisco'nun merkezi olarak ayarlanmaktadı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 } } ] }
Deneyin!
API Gezgini sayesinde örnek isteklerde bulunabilirsiniz. hakkında da bilgi edineceksiniz.
- API simgesini,
sekmesini tıklayın.
- İsteğe bağlı olarak Standart parametreleri göster'i genişletin ve
fields
parametresi alan maskesine benzer. - İsteğe bağlı olarak İstek gövdesini düzenleyin.
- Yürüt düğmesini seçin. Pop-up pencerede, istekte bulunmak için kullanmak istediğiniz hesabı seçin.
API Gezgini panelinde genişlet simgesini seçin, API Gezgini penceresini genişletmek için
tuşlarına basın.