Yer Adı Otomatik Tamamlama (Eski), bir HTTP isteğine yanıt olarak yer tahminleri döndüren bir web hizmetidir. İstek, metin tabanlı bir arama dizesi ve isteğe bağlı coğrafi sınırlar belirtir. Bu hizmet, kullanıcılar metin tabanlı coğrafi aramalar yaparken işletmeler, adresler ve önemli yerler gibi yerleri döndürerek otomatik tamamlama işlevi sağlamak için kullanılabilir.
Yer Adı Otomatik Tamamlama (Eski) istekleri
Yer Adı Otomatik Tamamlama (Eski), Places API'nin bir parçasıdır ve Places API ile API anahtarı ve kotaları paylaşır.
Yer Adı Otomatik Tamamlama (Eski), tam kelimeler ve alt dizelerle eşleşebilir, yer adlarını, adresleri ve Plus Code'ları çözebilir. Bu nedenle uygulamalar, kullanıcı yazarken anında yer tahminleri sağlamak için sorgu gönderebilir.
Plus Code'ları doğru şekilde biçimlendirmeniz gerekir. Bu, artı işaretini URL çıkış karakteriyle %2B, boşlukları ise URL çıkış karakteriyle %20 olarak değiştirmeniz gerektiği anlamına gelir.
- global kod, dört karakterli bir alan kodu ve altı karakter veya daha uzun bir yerel koddur. Örneğin, URL'den kaçış global kodu
849VCWC8+R9,849VCWC8%2BR9şeklindedir. - Bileşik kod, açık bir konuma sahip altı karakterlik (veya daha uzun) bir yerel koddur. Örneğin, URL'de kaçış karakteri kullanılan bileşik kod
CWC8+R9 Mountain View, CA, USA,CWC8%2BR9%20Mountain%20View%20CA%20USAşeklindedir.
Döndürülen tahminler, kullanıcıya sunulmak ve istedikleri yeri seçmelerine yardımcı olmak için tasarlanmıştır. Döndürülen yerlerden herhangi biri hakkında daha fazla bilgi edinmek için Yer Ayrıntıları (Eski) isteği gönderebilirsiniz.
Yer Adı Otomatik Tamamlama (Eski) isteği, aşağıdaki biçimde bir HTTP URL'sidir:
https://maps.googleapis.com/maps/api/place/autocomplete/output?parameters
Burada output, aşağıdaki değerlerden biri olabilir:
json(önerilir), JavaScript Object Notation (JSON) biçiminde çıktı olduğunu gösterir.xmlçıkışın XML olarak gösterileceğini belirtir.
Yer Adı Otomatik Tamamlama (Eski) isteği başlatmak için belirli parametreler gereklidir.
URL'lerde standart olduğu gibi, tüm parametreler ve işareti (&) kullanılarak ayrılır. Parametrelerin listesi ve olası değerleri aşağıda sıralanmıştır.
Gerekli parametreler
-
giriş
Aranacak metin dizesi. Yer Adı Otomatik Tamamlama 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
-
bileşenler
Sonuçlarınızı kısıtlamak istediğiniz yerlerin gruplandırılması. En fazla 5 ülkeye göre filtrelemek için bileşenleri kullanabilirsiniz. Ülkeler, iki karakterli, ISO 3166-1 Alpha-2 uyumlu ülke kodu olarak iletilmelidir. Örneğin:
components=country:fr, sonuçlarınızı Fransa'daki yerlerle kısıtlar. Birden fazla ülke, ayırıcı olarak dikey çizgi karakteri|kullanılarak birden fazlacountry:XXfiltresi olarak iletilmelidir. Örneğin:components=country:us|country:pr|country:vi|country:gu|country:mpsonuçlarınızı ABD ve ABD'ye bağlı, tüzel kişiliği olmayan bölgelerle sınırlar.Not: Bir ülke koduyla beklenmedik sonuçlar alırsanız kullanmak istediğiniz ülkeleri, bağımlı bölgeleri ve coğrafi ilgi alanlarını içeren bir kod kullandığınızı doğrulayın. Kod bilgilerini Wikipedia: List of ISO 3166 country codes (Wikipedia: ISO 3166 ülke kodları listesi) veya ISO Online Browsing Platform'da (ISO Online Göz Atma Platformu) bulabilirsiniz. -
language
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.
-
languagesağlanmazsa API,Accept-Languagebaşlığında belirtilen tercih edilen dili kullanmaya çalışır. - API, hem kullanıcı hem de yerel halk tarafından okunabilen bir açık adres sağlamak için elinden geleni yapar. Bu amaca ulaşmak için açık adresleri yerel dilde döndürür ve gerekirse tercih edilen dili dikkate alarak kullanıcı tarafından okunabilir bir alfabeye dönüştü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.
- Tercih edilen dilde ad yoksa 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. Örneğin, Macarca'da utca ve tér, sokak kelimesinin eş anlamlılarıdır.
-
konum
Yer bilgilerinin alınacağı nokta. Bu,
latitude,longitudeolarak belirtilmelidir. Konum belirtirkenradiusparametresi de sağlanmalıdır.radiussağlanmazsalocationparametresi yoksayılır.Text Search API kullanılırken `query` parametresi, `Barcelona'daki pazar` gibi açık bir konum içeriyorsa `location` parametresi geçersiz kılınabilir. -
locationbias
Belirli bir alandaki sonuçları tercih etmek için yarıçap ve enlem/boylam ya da bir dikdörtgenin noktalarını temsil eden iki enlem/boylam çifti belirtin. Bu parametre belirtilmezse API varsayılan olarak IP adresi önyargısını kullanır.
-
IP önyargısı: API'ye IP adresi önyargısı kullanması talimatını verir. Dizeyi iletin.
ipbias(Bu seçenekte ek parametre yoktur). -
Dairesel: Yarıçapı metre cinsinden belirten bir dize ve ondalık derece cinsinden enlem/boylam. Aşağıdaki biçimi kullanın:
circle:radius@lat,lng. -
Dikdörtgen: Bir dikdörtgenin güney/batı ve kuzey/doğu noktalarını temsil eden, ondalık derece cinsinden iki enlem/boylam çifti belirten bir dize. Aşağıdaki biçimi kullanın:
rectangle:south,west|north,east. Doğu/batı değerlerinin -180 ile 180 aralığına, kuzey/güney değerlerinin ise -90 ile 90 aralığına sarıldığını unutmayın.
-
IP önyargısı: API'ye IP adresi önyargısı kullanması talimatını verir. Dizeyi iletin.
-
locationrestriction
Yarıçap ve enlem/boylam ya da bir dikdörtgenin noktalarını temsil eden iki enlem/boylam çifti belirterek sonuçları belirli bir alanla sınırlayın.
-
Dairesel: Yarıçapı metre cinsinden belirten bir dize ve ondalık derece cinsinden enlem/boylam. Aşağıdaki biçimi kullanın:
circle:radius@lat,lng. -
Dikdörtgen: Ondalık derece cinsinden iki enlem/boylam çifti belirten bir dize. Dikdörtgenin güney/batı ve kuzey/doğu noktalarını temsil eder. Aşağıdaki biçimi kullanın:
rectangle:south,west|north,east. Doğu/batı değerlerinin -180 ile 180 aralığına, kuzey/güney değerlerinin ise -90 ile 90 aralığına sarıldığını unutmayın.
-
Dairesel: Yarıçapı metre cinsinden belirten bir dize ve ondalık derece cinsinden enlem/boylam. Aşağıdaki biçimi kullanın:
-
telafi etmek
Hizmetin tahminleri eşleştirmek için kullandığı son karakterin giriş terimindeki konumu. Örneğin, giriş
Googleise ve ofset 3 ise hizmetGooile eşleşir. Ofset tarafından belirlenen dize, yalnızca giriş terimindeki ilk kelimeyle eşleştirilir. Örneğin, giriş terimiGoogle abcise ve ofset 3 ise hizmet,Goo abcile eşleşmeye çalışır. Bir ofset sağlanmazsa hizmet, tüm dönemi kullanır. Kaydırma genellikle metin imlecinin konumuna ayarlanmalıdır. -
kaynak
Hedefe düz çizgi mesafesinin hesaplanacağı başlangıç noktası (
distance_metersolarak döndürülür). Bu değer atlanırsa düz çizgi mesafesi döndürülmez.latitude,longitudeolarak belirtilmelidir. -
yarıçap
Yer sonuçlarının döndürüleceği mesafeyi (metre cinsinden) tanımlar.
locationveradiusparametrelerini ileterek sonuçları belirli bir çevreye göre yönlendirebilirsiniz. Bunu yaptığınızda Places hizmetine, bu daire içindeki sonuçları göstermeyi tercih etmesi talimatı verilir. Tanımlanan alanın dışındaki sonuçlar da gösterilebilir.Yarıçap, arama türüne ve diğer parametrelere bağlı olarak otomatik olarak maksimum bir değere sabitlenir.
- Otomatik tamamlama: 50.000 metre
-
Yakında Arama:
keywordveyanameile: 50.000 metre-
keywordveyanameolmadan-
rankbyparametresinden bağımsız olarak, alan yoğunluğuna göre dinamik olarak ayarlanan 50.000 metreye kadar. -
rankby=distancekullanılırken yarıçap parametresi kabul edilmez veINVALID_REQUESTile sonuçlanır.
-
- Query Autocomplete: 50.000 metre
- Metin Arama: 50.000 metre
-
bölge
Bölge kodu, ccTLD ("üst düzey alan") olarak belirtilen iki karakterli bir değerdir. Çoğu ccTLD kodu, ISO 3166-1 kodlarıyla aynıdır. Ancak bazı önemli istisnalar vardı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).
-
sessiontoken
Fatura amaçlı olarak bir otomatik tamamlama oturumunu tanımlayan rastgele bir dize.
Oturum, kullanıcının sorgu yazmaya başlamasıyla başlar ve bir yer seçip Yer Ayrıntıları'na çağrı yapılmasıyla sona erer. Her oturumda birden fazla sorgu ve ardından bir yer seçimi olabilir. Bir oturumdaki her istek için kullanılan API anahtarları aynı Google Cloud Console projesine ait olmalıdır. Bir oturum sona erdiğinde jeton artık geçerli olmaz. Uygulamanız her oturum için yeni bir jeton oluşturmalıdır.
sessiontokenparametresi atlanırsa veya oturum jetonu yeniden kullanılırsa oturum, oturum jetonu sağlanmamış gibi ücretlendirilir (her istek ayrı olarak faturalandırılır).Aşağıdaki yönergeleri uygulamanızı öneririz:
- Tüm otomatik tamamlama oturumları için oturum jetonlarını kullanın.
- Her oturum için yeni bir jeton oluşturun. Sürüm 4 UUID kullanılması önerilir.
- Bir oturumdaki tüm Yer Adı Otomatik Tamamlama ve Yer Ayrıntıları istekleri için kullanılan API anahtarlarının aynı Cloud Console projesine ait olduğundan emin olun.
- Her yeni oturum için benzersiz bir oturum jetonu ilettiğinizden emin olun. Aynı jetonun birden fazla oturum için kullanılması, her isteğin ayrı ayrı faturalandırılmasına neden olur.
-
strictbounds
Yalnızca
locationveradiusile tanımlanan bölge içinde yer alan yerleri döndürür. Bu bir önyargı değil, kısıtlamadır. Bu nedenle, kullanıcı girişiyle eşleşse bile bu bölgenin dışındaki sonuçlar döndürülmez. -
türler
typesparametresini ileterek Yer Adı Otomatik Tamamlama isteğinden gelen sonuçları belirli bir türle kısıtlayabilirsiniz. Bu parametre, Yer Türleri'nde listelendiği gibi bir türü veya tür koleksiyonunu belirtir. Hiçbir şey belirtilmezse tüm türler döndürülür.Bir yer, yalnızca Tablo 1 veya Tablo 2'de listelenen türlerden tek bir birincil türe sahip olabilir. Örneğin, yemek servisi yapılan bir otel yalnızca
types=lodgingile döndürülebilir,types=restaurantile döndürülemez.typesparametresinin değeri için aşağıdakilerden birini belirtebilirsiniz:-
Tablo 1 veya Tablo 2'den en fazla beş değer. Birden fazla değer için her değeri
|(dikey çubuk) ile ayırın. Örneğin:types=book_store|cafe -
Tablo 3'te desteklenen tek bir filtre. Tür koleksiyonlarını karıştıramazsınız.
İstek şu durumlarda
INVALID_REQUESThatasıyla reddedilir: -
Yer Adı Otomatik Tamamlama (Eski) örnekleri
Merkezi San Francisco, Kaliforniya'da olan bir bölgede "Amoeba" dizesini içeren kuruluşlarla ilgili bir istek:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=amoeba &types=establishment &location=37.76999%2C-122.44696 &radius=500 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&key=YOUR_API_KEY'Ashbury St & Haight St, San Francisco'nun 500 metre yakınındaki sonuçlarla kısıtlanmış aynı istek:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=amoeba &types=establishment &location=37.76999%2C-122.44696&radius=500 &strictbounds=true &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&strictbounds=true&key=YOUR_API_KEY'"Vict" içeren adresler için Fransızca sonuçlar içeren bir istek:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=Vict &types=geocode &language=fr &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=geocode&language=fr&key=YOUR_API_KEY'Brezilya Portekizcesi dilinde sonuçlar içeren, "Vict" ifadesini içeren şehirler için bir istek:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=Vict &types=(cities) &language=pt_BR&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=(cities)&language=pt_BR&key=YOUR_API_KEY'Bu örneklerdeki API anahtarını kendi anahtarınızla değiştirmeniz gerektiğini unutmayın.
Yer Adı Otomatik Tamamlama (Eski) yanıtı
Yer Adı Otomatik Tamamlama (Eski) yanıtları, isteğin URL yolundaki output işaretiyle belirtilen biçimde döndürülür. Aşağıdaki sonuçlar, şu parametreleri içeren bir sorgu için döndürülebilecek sonuçları gösterir:
URL
https://maps.googleapis.com/maps/api/place/autocomplete/json ?input=Paris &types=geocode &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Paris&types=geocode&key=YOUR_API_KEY'JSON
{ "predictions": [ { "description": "Paris, France", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ", "reference": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "France", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "France" }, ], "types": ["locality", "political", "geocode"], }, { "description": "Paris, TX, USA", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJmysnFgZYSoYRSfPTL2YJuck", "reference": "ChIJmysnFgZYSoYRSfPTL2YJuck", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "TX, USA", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "TX" }, { "offset": 11, "value": "USA" }, ], "types": ["locality", "political", "geocode"], }, { "description": "Paris, TN, USA", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJ4zHP-Sije4gRBDEsVxunOWg", "reference": "ChIJ4zHP-Sije4gRBDEsVxunOWg", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "TN, USA", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "TN" }, { "offset": 11, "value": "USA" }, ], "types": ["locality", "political", "geocode"], }, { "description": "Paris, Brant, ON, Canada", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJsamfQbVtLIgR-X18G75Hyi0", "reference": "ChIJsamfQbVtLIgR-X18G75Hyi0", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "Brant, ON, Canada", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "Brant" }, { "offset": 14, "value": "ON" }, { "offset": 18, "value": "Canada" }, ], "types": ["neighborhood", "political", "geocode"], }, { "description": "Paris, KY, USA", "matched_substrings": [{ "length": 5, "offset": 0 }], "place_id": "ChIJsU7_xMfKQ4gReI89RJn0-RQ", "reference": "ChIJsU7_xMfKQ4gReI89RJn0-RQ", "structured_formatting": { "main_text": "Paris", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "KY, USA", }, "terms": [ { "offset": 0, "value": "Paris" }, { "offset": 7, "value": "KY" }, { "offset": 11, "value": "USA" }, ], "types": ["locality", "political", "geocode"], }, ], "status": "OK", }
XML
<?xml version="1.0" encoding="UTF-8"?> <AutocompletionResponse> <status>OK</status> <prediction> <description>Paris, France</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJD7fiBh9u5kcRYJSMaMOCCwQ</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>France</value> <offset>7</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJD7fiBh9u5kcRYJSMaMOCCwQ</place_id> <structured_formatting> <description>Paris</description> <subdescription>France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, TX, USA</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJmysnFgZYSoYRSfPTL2YJuck</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>TX</value> <offset>7</offset> </term> <term> <value>USA</value> <offset>11</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJmysnFgZYSoYRSfPTL2YJuck</place_id> <structured_formatting> <description>Paris</description> <subdescription>TX, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, TN, USA</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJ4zHP-Sije4gRBDEsVxunOWg</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>TN</value> <offset>7</offset> </term> <term> <value>USA</value> <offset>11</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJ4zHP-Sije4gRBDEsVxunOWg</place_id> <structured_formatting> <description>Paris</description> <subdescription>TN, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, Brant, ON, Canada</description> <type>neighborhood</type> <type>political</type> <type>geocode</type> <reference>ChIJsamfQbVtLIgR-X18G75Hyi0</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>Brant</value> <offset>7</offset> </term> <term> <value>ON</value> <offset>14</offset> </term> <term> <value>Canada</value> <offset>18</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJsamfQbVtLIgR-X18G75Hyi0</place_id> <structured_formatting> <description>Paris</description> <subdescription>Brant, ON, Canada</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> <prediction> <description>Paris, KY, USA</description> <type>locality</type> <type>political</type> <type>geocode</type> <reference>ChIJsU7_xMfKQ4gReI89RJn0-RQ</reference> <term> <value>Paris</value> <offset>0</offset> </term> <term> <value>KY</value> <offset>7</offset> </term> <term> <value>USA</value> <offset>11</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <place_id>ChIJsU7_xMfKQ4gReI89RJn0-RQ</place_id> <structured_formatting> <description>Paris</description> <subdescription>KY, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> </structured_formatting> </prediction> </AutocompletionResponse>
PlacesAutocompleteResponse
| Alan | Zorunlu | Tür | Açıklama |
|---|---|---|---|
|
required | Array<PlaceAutocompletePrediction> |
Tahmin dizisi içerir. Daha fazla bilgi için PlaceAutocompletePrediction bölümüne bakın. |
|
required | PlacesAutocompleteStatus |
İsteğin durumunu içerir ve isteğin neden başarısız olduğunu bulmanıza yardımcı olacak hata ayıklama bilgilerini içerebilir. Daha fazla bilgi için PlacesAutocompleteStatus sayfasına bakın. |
|
isteğe bağlı | dize |
Hizmet |
|
isteğe bağlı | Dizi<dize> |
Hizmet, istek spesifikasyonu hakkında ek bilgiler döndürdüğünde yanıt nesnesinde ek bir |
Sonuçlar arasında özellikle place_id öğeleri ilgi çekicidir. Bu öğeler, ayrı bir sorgu kullanarak yer hakkında daha ayrıntılı bilgi istemek için kullanılabilir. Yer Ayrıntıları (Eski) istekleri bölümüne bakın.
XML yanıtı, iki tür alt öğe içeren tek bir <AutocompletionResponse> öğesinden oluşur:
- Tek bir
<status>öğesi, istekle ilgili meta verileri içerir. Aşağıdaki Durum Kodları bölümüne bakın. - Her biri tek bir yerle ilgili bilgileri içeren sıfır veya daha fazla
<prediction>öğesi. Bu sonuçlar hakkında bilgi için Yer Adı Otomatik Tamamlama (Eski) Sonuçları bölümüne bakın. Places API en fazla 5 sonuç döndürür.
Uygulamanız herhangi bir nedenle xml gerektirmediği sürece tercih edilen çıkış işareti olarak json kullanmanızı öneririz.
XML ağaçlarının işlenmesi, doğru düğümlere ve öğelere referans vermeniz için biraz dikkat gerektirir. XML'yi işleme konusunda yardım almak için XPath ile XML işleme başlıklı makaleye bakın.
PlacesAutocompleteStatus
Hizmet tarafından döndürülen durum kodları.
OK, API isteğinin başarılı olduğunu gösterir.-
Aramanın başarılı olduğunu ancak sonuç döndürmediğini gösteren
ZERO_RESULTS. Bu durum, arama uzak bir konumda sınırlara iletildiyse ortaya çıkabilir. -
INVALID_REQUEST, API isteğinin hatalı biçimlendirildiğini gösterir. Bu durum genellikleinputparametresinin eksik olmasından kaynaklanır. -
OVER_QUERY_LIMITAşağıdakilerden herhangi birini belirten:- QPS sınırlarını aştınız.
- Hesabınızda faturalandırma etkinleştirilmemiştir.
- Aylık 200 ABD doları tutarındaki kredi veya kendinizin belirlediği kullanım sınırı aşılmıştır.
- Belirtilen ödeme yöntemi artık geçerli değil (örneğin, kredi kartının süresi dolmuş).
-
REQUEST_DENIEDisteğinizin reddedildiğini belirtir. Genellikle şu nedenlerle:- İstekte API anahtarı eksik.
keyparametresi geçersiz.
- Bilinmeyen bir hatayı gösteren
UNKNOWN_ERROR.
Yer hizmeti, bir aramadan JSON sonuçları döndürdüğünde bunları predictions dizisine yerleştirir. Hizmet sonuç döndürmese bile (ör. location uzaktaysa) boş bir predictions dizisi döndürür. XML yanıtları sıfır veya daha fazla <prediction> öğesinden oluşur.
PlaceAutocompletePrediction
| Alan | Zorunlu | Tür | Açıklama |
|---|---|---|---|
|
required | dize |
Döndürülen sonucun kullanıcılar tarafından okunabilen adını içerir. |
|
required | Array<PlaceAutocompleteMatchedSubstring> |
Girilen terimin tahmin sonucu metnindeki konumunu açıklayan alt dizelerin listesi. Böylece, seçilirse terim vurgulanabilir. Daha fazla bilgi için PlaceAutocompleteMatchedSubstring bölümüne bakın. |
|
required | PlaceAutocompleteStructuredFormat |
Otomatik tamamlama sonuçlarınızda gösterilebilecek önceden biçimlendirilmiş metinler sağlar. Bu içerik olduğu gibi okunmalıdır. Biçimlendirilmiş adresi programatik olarak ayrıştırmayın. Daha fazla bilgi için PlaceAutocompleteStructuredFormat bölümüne bakın. |
|
required | Array<PlaceAutocompleteTerm> |
Döndürülen açıklamanın her bölümünü tanımlayan bir terim dizisi içerir (açıklamanın bir bölümü genellikle virgülle sonlandırılır). Dizideki her giriş, terimin metnini içeren bir Daha fazla bilgi için PlaceAutocompleteTerm sayfasına bakın. |
|
isteğe bağlı | tam sayı |
Başlangıç noktasından metre cinsinden düz çizgi mesafesi. Bu alan yalnızca |
|
isteğe bağlı | dize |
Bir yeri benzersiz şekilde tanımlayan metin tanımlayıcısı. Yerle ilgili bilgileri almak için bu tanımlayıcıyı bir Places API isteğinin placeId alanına iletin. Yer kimlikleri hakkında daha fazla bilgi için Yer kimliklerine genel bakış başlıklı makaleyi inceleyin. |
|
isteğe bağlı | dize |
place_id'yi inceleyin. |
|
isteğe bağlı | Dizi<dize> |
Bu yer için geçerli olan çeşitli türleri içerir. Örneğin:
|
PlaceAutocompleteMatchedSubstring
| Alan | Zorunlu | Tür | Açıklama |
|---|---|---|---|
|
required | sayı |
Tahmin sonucu metninde eşleşen alt dizenin uzunluğu. |
|
required | sayı |
Tahmin sonucu metninde eşleşen alt dizenin başlangıç konumu. |
PlaceAutocompleteStructuredFormat
| Alan | Zorunlu | Tür | Açıklama |
|---|---|---|---|
|
required | dize |
Genellikle yerin adı olan bir tahminin ana metnini içerir. |
|
required | Array<PlaceAutocompleteMatchedSubstring> |
Daha fazla bilgi için PlaceAutocompleteMatchedSubstring sayfasına bakın. |
|
isteğe bağlı | dize |
Bir tahminin ikincil metnini (genellikle yerin konumu) içerir. |
|
isteğe bağlı | Array<PlaceAutocompleteMatchedSubstring> |
Daha fazla bilgi için PlaceAutocompleteMatchedSubstring bölümüne bakın. |
PlaceAutocompleteTerm
| Alan | Zorunlu | Tür | Açıklama |
|---|---|---|---|
|
required | sayı |
Bu terimin açıklamadaki başlangıç konumunu tanımlar (Unicode karakterlerle ölçülür) |
|
required | dize |
Terimin metni. |
Yer Adı Otomatik Tamamlama (Eski) optimizasyonu
Bu bölümde, Yer Adı Otomatik Tamamlama (Eski) hizmetinden en iyi şekilde yararlanmanıza yardımcı olacak en iyi uygulamalar açıklanmaktadır.
Genel kurallardan bazıları şunlardır:
- Çalışan bir kullanıcı arayüzü geliştirmenin en hızlı yolu, Maps JavaScript API Yer Adı Otomatik Tamamlama (Eski) widget'ını, Android için Yerler SDK'sı Yer Adı Otomatik Tamamlama (Eski) widget'ını veya iOS için Yerler SDK'sı Yer Adı Otomatik Tamamlama (Eski) kullanıcı arayüzü kontrolünü kullanmaktır.
- Başlangıçtan itibaren temel Yer Adı Otomatik Tamamlama (Eski) veri alanlarını anlayın.
- Konum tercihi ve konum kısıtlama alanları isteğe bağlıdır ancak otomatik tamamlama performansı üzerinde önemli bir etkisi olabilir.
- API bir hata döndürürse uygulamanızın düzgün bir şekilde çalışmaya devam etmesi için hata işleme özelliğini kullanın.
- Uygulamanızın seçim yapılmadığı durumları yönettiğinden ve kullanıcılara devam etme yolu sunduğundan emin olun.
Maliyet optimizasyonu ile ilgili en iyi uygulamalar
Temel maliyet optimizasyonu
Yer Adı Otomatik Tamamlama (Eski) hizmetini kullanmanın maliyetini optimize etmek için Yer Ayrıntıları (Eski) ve Yer Adı Otomatik Tamamlama (Eski) widget'larında yalnızca ihtiyacınız olan Yer Adı Otomatik Tamamlama (Eski) veri alanlarını döndürmek üzere alan maskeleri kullanın.
Gelişmiş maliyet optimizasyonu
Yer Adı Otomatik Tamamlama (Eski) hizmetine programatik olarak erişmek için SKU: Autocomplete - Per Request pricing hizmetini kullanın ve Yer Ayrıntıları (Eski) yerine seçilen yerle ilgili Geocoding API sonuçları isteyin. Aşağıdaki koşulların her ikisi de karşılanıyorsa Geocoding API'si ile birlikte kullanılan istek başına fiyatlandırma, oturum başına (oturum tabanlı) fiyatlandırmaya kıyasla daha uygun maliyetlidir:
- Kullanıcının seçtiği yerin yalnızca enlemi, boylamı veya adresi gerekiyorsa Geocoding API bu bilgileri Place Details (Legacy) çağrısından daha düşük bir maliyetle sağlar.
- Kullanıcılar ortalama dört veya daha az Yer Adı Otomatik Tamamlama (Eski) tahmin isteği içinde bir otomatik tamamlama tahmini seçerse istek başına fiyatlandırma, oturum başına fiyatlandırmadan daha uygun maliyetli olabilir.
Uygulamanız, seçilen tahminin adresi ve enlem/boylamı dışında başka bilgi gerektiriyor mu?
Evet, daha fazla ayrıntı gerekiyor
Oturum tabanlı Yer Adı Otomatik Tamamlama (Eski) özelliğini Yer Ayrıntıları (Eski) ile kullanın.
Uygulamanızda yer adı, işletme durumu veya çalışma saatleri gibi Yer Ayrıntıları (Eski) gerekli olduğundan Yer Otomatik Tamamlama (Eski) özelliğinin uygulanmasında oturum jetonu (programatik olarak veya JavaScript, Android ya da iOS widget'larına yerleştirilmiş) oturum başına ve talep ettiğiniz yer verileri alanlarına bağlı olarak geçerli Yer Verileri SKU'ları kullanılmalıdır.1
Widget uygulama
Oturum yönetimi, otomatik olarak
JavaScript,
Android,
veya iOS
widget'larına yerleştirilmiştir. Buna, seçilen tahminde hem Yer Adı Otomatik Tamamlama (Eski) istekleri hem de Yer Ayrıntıları (Eski) isteği dahildir. Yalnızca ihtiyacınız olan Yer Adı Otomatik Tamamlama (Eski) veri alanlarını istediğinizden emin olmak için fields parametresini belirttiğinizden emin olun.
Programatik uygulama
Yer Adı Otomatik Tamamlama (Eski) isteklerinizde
oturum jetonu
kullanın. Seçilen tahminle ilgili Yer Ayrıntıları (Eski) isteğinde bulunurken aşağıdaki parametreleri ekleyin:
- Yer Adı Otomatik Tamamlama (Eski) yanıtındaki yer kimliği
- Yer Adı Otomatik Tamamlama (Eski) isteğinde kullanılan oturum jetonu
- İhtiyacınız olan Yer Adı Otomatik Tamamlama (Eski) veri alanlarını belirten
fieldsparametresi
Hayır, yalnızca adres ve konum gerekiyor
Yer Adı Otomatik Tamamlama (Eski) kullanımınızın performansına bağlı olarak, Geocoding API, uygulamanız için Yer Ayrıntıları (Eski) API'sinden daha uygun maliyetli bir seçenek olabilir. Her uygulamanın Yer Adı Otomatik Tamamlama (Eski) verimliliği; kullanıcıların ne girdiğine, uygulamanın nerede kullanıldığına ve performans optimizasyonuyla ilgili en iyi uygulamaların hayata geçirilip geçirilmediğine bağlı olarak değişir.
Aşağıdaki soruyu yanıtlamak için bir kullanıcının uygulamanızda Yer Adı Otomatik Tamamlama (Eski) tahmini seçmeden önce ortalama kaç karakter yazdığını analiz edin.
Kullanıcılarınız ortalama dört veya daha az istekte bir Yer Adı Otomatik Tamamlama (Eski) tahminini seçiyor mu?
Evet
Oturum jetonları olmadan Yer Adı Otomatik Tamamlama (Eski) programatik olarak uygulayın ve seçilen yer tahmini için Geocoding API'yi çağırın.
Geocoding API, adresleri ve enlem/boylam koordinatlarını sağlar.
Seçilen yer tahminiyle ilgili dört Autocomplete - Per Request (İstek Başına Otomatik Tamamlama) isteği ve bir Geocoding API (Coğrafi Kodlama API'si) çağrısı yapmak, oturum başına oturum başına Yer Otomatik Tamamlama (Eski) maliyetinden daha düşüktür.1
Kullanıcılarınızın aradıkları tahmini daha az karakterle almalarına yardımcı olmak için performansla ilgili en iyi uygulamaları kullanabilirsiniz.
Hayır
Yer Ayrıntıları (Eski) ile oturuma dayalı Yer Adı Otomatik Tamamlama (Eski) özelliğini kullanın.
Bir kullanıcı, Yer Adı Otomatik Tamamlama (Eski) tahmini seçmeden önce yapmayı beklediğiniz ortalama istek sayısı, oturum başına fiyatlandırmanın maliyetini aştığından Yer Adı Otomatik Tamamlama (Eski) uygulamanız hem Yer Adı Otomatik Tamamlama (Eski) istekleri hem de ilişkili Yer Ayrıntıları (Eski) isteği için oturum başına bir oturum jetonu kullanmalıdır.
1
Widget uygulama
Oturum yönetimi,
JavaScript,
Android,
veya iOS
widget'larına otomatik olarak yerleştirilmiştir. Buna hem Yer Adı Otomatik Tamamlama (eski) istekleri hem de seçilen tahminde Yer Ayrıntıları (eski) isteği dahildir. Yalnızca ihtiyacınız olan alanları istediğinizden emin olmak için fields parametresini belirttiğinizden emin olun.
Programatik uygulama
Yer Adı Otomatik Tamamlama (Eski) isteklerinizde
oturum jetonu
kullanın.
Seçilen tahminle ilgili Yer Ayrıntıları (Eski) isteğinde bulunurken aşağıdaki parametreleri ekleyin:
- Yer Adı Otomatik Tamamlama (Eski) yanıtındaki yer kimliği
- Yer Adı Otomatik Tamamlama (Eski) isteğinde kullanılan oturum jetonu
- Adres ve geometri gibi
fieldsparametresini belirten Temel Veri alanları
Yer Adı Otomatik Tamamlama (Eski) isteklerini geciktirmeyi düşünün
Uygulamanızın daha az istekte bulunması için Yer Adı Otomatik Tamamlama (Eski) isteğini kullanıcı ilk üç veya dört karakteri yazana kadar geciktirmek gibi stratejiler kullanabilirsiniz. Örneğin, kullanıcı üçüncü karakteri yazdıktan sonra her karakter için Yer Adı Otomatik Tamamlama (Eski) isteğinde bulunmak, kullanıcının yedi karakter yazıp bir Geocoding API isteğinde bulunduğunuz bir tahmini seçmesi durumunda toplam maliyetin 4 Yer Adı Otomatik Tamamlama (Eski) İsteği + Coğrafi Kodlama olacağı anlamına gelir.1
İstekleri geciktirerek ortalama programatik istek sayınızı dörtten aşağıya düşürebilirseniz Coğrafi Kodlama API'si ile yüksek performanslı Yer Adı Otomatik Tamamlama (Eski) uygulamasıyla ilgili yönergeleri uygulayabilirsiniz. İsteklerin geciktirilmesinin, her yeni tuş vuruşunda tahmin görmeyi bekleyen kullanıcı tarafından gecikme olarak algılanabileceğini unutmayın.
Kullanıcılarınızın aradıkları tahmini daha az karakterle almalarına yardımcı olmak için performansla ilgili en iyi uygulamaları kullanabilirsiniz.
-
Maliyetler için Google Haritalar Platformu fiyatlandırma listeleri başlıklı makaleyi inceleyin.
Performansla ilgili en iyi uygulamalar
Aşağıdaki yönergelerde, Yer Adı Otomatik Tamamlama (Eski) performansını optimize etmenin yolları açıklanmaktadır:
- Place Autocomplete (Legacy) uygulamanıza ülkeye özgü kısıtlamalar, konum ağırlığı ve (programatik uygulamalar için) dil tercihi ekleyin. Dil tercihi, kullanıcının tarayıcısından veya mobil cihazından dil tercihlerini alan widget'larda gerekli değildir.
- Yer Adı Otomatik Tamamlama (Eski) özelliğine harita eşlik ediyorsa konumu harita görüntü alanına göre yönlendirebilirsiniz.
- Kullanıcı, Yer Adı Otomatik Tamamlama (Eski) tahminlerinden birini seçmediğinde (genellikle bu tahminlerin hiçbiri istenen sonuç adresi olmadığı için) daha alakalı sonuçlar elde etmek amacıyla orijinal kullanıcı girişini yeniden kullanabilirsiniz:
- Kullanıcının yalnızca adres bilgilerini girmesini bekliyorsanız Geocoding API çağrısında orijinal kullanıcı girişini yeniden kullanın.
- Kullanıcının belirli bir yer için ad veya adresle sorgu girmesini bekliyorsanız Yer Ayrıntıları (Eski) isteği kullanın. Sonuçların yalnızca belirli bir bölgede olması bekleniyorsa konum önceliği kullanın.
- Kullanıcılar, bir bina içindeki belirli birimlerin veya dairelerin adresleri gibi alt tesis adreslerini girerken. Örneğin, "Stroupežnického 3191/17, Praha" Çekçe adresi, Yer Adı Otomatik Tamamlama (Eski) özelliğinde kısmi bir tahmin oluşturur.
- New York City'de "23-30 29th St, Queens" veya Hawaii'deki Kauai adasında "47-380 Kamehameha Hwy, Kaneohe" gibi yol segmenti önekleri içeren adresleri giren kullanıcılar.
Konum önyargısı
Bir location parametresi ve bir radius parametresi ileterek sonuçları belirli bir alana yönlendirin. Bu, Yer Adı Otomatik Tamamlama (Eski) özelliğine, tanımlanan alan içindeki sonuçları göstermeyi tercih etmesi talimatını verir. Tanımlanan alanın dışındaki sonuçlar gösterilmeye devam edebilir. Sonuçları filtreleyerek yalnızca belirli bir ülke içindeki yerleri göstermek için includedRegionCodes parametresini kullanabilirsiniz.
Konum kısıtlama
locationRestriction parametresini ileterek sonuçları belirli bir alanla sınırlayın.
Ayrıca, location ve radius parametreleriyle tanımlanan bölgeyle sonuçları kısıtlamak için strictbounds parametresini ekleyebilirsiniz. Bu, Yer Adı Otomatik Tamamlama (Eski) hizmetine yalnızca bu bölgedeki sonuçları döndürmesini söyler.