Interfejs Query Autocomplete (starsza wersja) może służyć do podawania prognozy zapytania w przypadku wyszukiwań geograficznych opartych na tekście. W miarę wpisywania tekstu zwraca on sugerowane zapytania.
Żądania autouzupełniania zapytań (starsza wersja)
Autouzupełnianie zapytań (starsza wersja) jest częścią interfejsu Places API (starsza wersja) i ma wspólny klucz interfejsu API oraz limit z interfejsem Places API (starsza wersja).
Interfejs Query Autocomplete (Legacy) umożliwia dodawanie do aplikacji podpowiedzi geograficznych zapytań w czasie rzeczywistym. Zamiast wyszukiwać konkretną lokalizację, użytkownik może wpisać wyszukiwanie według kategorii, np. „pizza w pobliżu Nowego Jorku”, a usługa odpowie listą sugerowanych zapytań pasujących do ciągu znaków. Usługa Autouzupełnianie zapytań (starsza wersja) może dopasowywać zarówno całe słowa, jak i podciągi znaków, więc aplikacje mogą wysyłać zapytania podczas wpisywania przez użytkownika, aby na bieżąco wyświetlać podpowiedzi.
Żądanie autouzupełniania zapytań (starsza wersja) to adres URL HTTP w tym formacie:
https://maps.googleapis.com/maps/api/place/queryautocomplete/output?parameters
gdzie output może być json lub xml.
Aby zainicjować żądanie autouzupełniania zapytania (starsza wersja), wymagane są określone parametry.
Zgodnie ze standardem adresów URL wszystkie parametry są rozdzielane znakiem ampersand (&). Listę parametrów i ich możliwych wartości znajdziesz poniżej.
Wymagane parametry
-
wprowadzanie danych
Ciąg tekstowy, w którym ma zostać przeprowadzone wyszukiwanie. Usługa Autouzupełnianie miejsc zwróci pasujące propozycje na podstawie tego ciągu znaków i uporządkuje wyniki według ich trafności.
Parametry opcjonalne
-
language
Język, w którym mają być zwracane wyniki.
- Zobacz listę obsługiwanych języków. Google często aktualizuje listę obsługiwanych języków, więc może ona nie być wyczerpująca.
-
Jeśli parametr
languagenie zostanie podany, interfejs API spróbuje użyć preferowanego języka określonego w nagłówkuAccept-Language. - Interfejs API stara się podać adres ulicy, który jest czytelny zarówno dla użytkownika, jak i mieszkańców. Aby to osiągnąć, zwraca adresy w języku lokalnym, a w razie potrzeby transliteruje je na pismo czytelne dla użytkownika, uwzględniając preferowany język. Wszystkie pozostałe adresy są zwracane w preferowanym języku. Wszystkie komponenty adresu są zwracane w tym samym języku, który jest wybierany na podstawie pierwszego komponentu.
- Jeśli nazwa nie jest dostępna w preferowanym języku, interfejs API użyje najbliższego dopasowania.
- Preferowany język ma niewielki wpływ na zestaw wyników, które interfejs API wybiera do zwrócenia, oraz na kolejność, w jakiej są one zwracane. Geokoder interpretuje skróty w różny sposób w zależności od języka, np. skróty typów ulic lub synonimy, które mogą być prawidłowe w jednym języku, ale nie w innym. Na przykład utca i tér to synonimy słowa „ulica” w języku węgierskim.
-
lokalizacja
Określa punkt (współrzędne
latitude,longitude), wokół którego ma się odbywać wyszukiwanie. Usługa Miejsca korzysta z lokalizacji, aby ukierunkować wyszukiwanie i wyświetlać wyniki w obszarze określonym przez parametrylocationiradius. Wyniki spoza tego obszaru mogą być nadal wyświetlane.Parametrlocationmoże zostać zastąpiony, jeśli elementqueryzawiera wyraźną lokalizację, np.Market in Barcelona. Użycie cudzysłowu wokół zapytania może też wpłynąć na wagę przypisaną dolocationiradius. -
odliczyć
Pozycja ostatniego znaku w wyrażeniu wejściowym, którego usługa używa do dopasowywania prognoz. Jeśli na przykład dane wejściowe to
Google, a przesunięcie wynosi 3, usługa dopasujeGoo. Ciąg znaków określony przez przesunięcie jest dopasowywany tylko do pierwszego słowa w terminie wejściowym. Jeśli na przykład termin wejściowy toGoogle abc, a przesunięcie wynosi 3, usługa spróbuje dopasować go doGoo abc. Jeśli nie podasz przesunięcia, usługa użyje całego okresu. Przesunięcie powinno być zwykle ustawione na pozycję kursora tekstowego. -
promień
Określa odległość (w metrach), w której mają być zwracane wyniki dotyczące miejsc. Możesz zawęzić wyniki do określonego okręgu, przekazując parametr
locationiradius. W ten sposób instruujesz usługę Miejsca, aby preferowała wyświetlanie wyników w obrębie tego okręgu. Wyniki spoza zdefiniowanego obszaru mogą być nadal wyświetlane.Promień zostanie automatycznie ograniczony do maksymalnej wartości w zależności od typu wyszukiwania i innych parametrów.
- Autouzupełnianie: 50 000 metrów
-
Wyszukiwanie w pobliżu:
- z
keywordlubname: 50 000 metrów -
bez
keywordlubname-
Do 50 000 m, dostosowywane dynamicznie na podstawie gęstości obszaru, niezależnie od parametru
rankby. -
Jeśli używasz wartości
rankby=distance, parametr promienia nie zostanie zaakceptowany i spowoduje wystąpienie błęduINVALID_REQUEST.
-
Do 50 000 m, dostosowywane dynamicznie na podstawie gęstości obszaru, niezależnie od parametru
- z
- Autouzupełnianie zapytań: 50 000 metrów
- Wyszukiwanie tekstu: 50 000 metrów
Przykłady autouzupełniania zapytań (starsza wersja)
URL
https://maps.googleapis.com/maps/api/place/queryautocomplete/json ?input=pizza%20near%20par &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'Zapytanie „Pizza w pobliżu Par” z wynikami w języku francuskim:
URL
https://maps.googleapis.com/maps/api/place/queryautocomplete/json ?input=pizza%20near%20par &language=fr &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&language=fr&key=YOUR_API_KEY'Pamiętaj, że w tych przykładach musisz zastąpić klucz interfejsu API swoim kluczem.
Odpowiedź Query Autocomplete (starsza wersja)
Odpowiedzi dotyczące automatycznego uzupełniania zapytań (starsza wersja) są zwracane w formacie wskazanym przez flagę output w ścieżce żądania URL. Poniższe wyniki zostały zwrócone w odpowiedzi na zapytanie z tymi parametrami:
URL
https://maps.googleapis.com/maps/api/place/queryautocomplete/json ?input=pizza%20near%20par &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'JSON
{ "predictions": [ { "description": "pizza near Paris, France", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Paris, France", "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Paris" }, { "offset": 18, "value": "France" }, ], }, { "description": "pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India", "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Pari Chowk" }, { "offset": 23, "value": "NRI City" }, { "offset": 33, "value": "Omega II" }, { "offset": 43, "value": "Noida" }, { "offset": 50, "value": "Uttar Pradesh" }, { "offset": 65, "value": "India" }, ], }, { "description": "pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 22 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Disneyland Park, Disneyland Drive, Anaheim, CA, USA", "secondary_text_matched_substrings": [{ "length": 3, "offset": 16 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Disneyland Park" }, { "offset": 28, "value": "Disneyland Drive" }, { "offset": 46, "value": "Anaheim" }, { "offset": 55, "value": "CA" }, { "offset": 59, "value": "USA" }, ], }, { "description": "pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 36 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France", "secondary_text_matched_substrings": [{ "length": 3, "offset": 30 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Cathédrale Notre-Dame de Paris" }, { "offset": 43, "value": "Parvis Notre-Dame - place Jean-Paul-II" }, { "offset": 83, "value": "Paris" }, { "offset": 90, "value": "France" }, ], }, { "description": "pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France", "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Paris Beauvais Airport" }, { "offset": 35, "value": "Route de l'Aéroport" }, { "offset": 56, "value": "Tillé" }, { "offset": 63, "value": "France" }, ], }, ], "status": "OK", }
XML
<AutocompletionResponse> <status>OK</status> <prediction> <description>pizza near Paris, France</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Paris</value> <offset>11</offset> </term> <term> <value>France</value> <offset>18</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>11</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Paris, France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>5</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Pari Chowk</value> <offset>11</offset> </term> <term> <value>NRI City</value> <offset>23</offset> </term> <term> <value>Omega II</value> <offset>33</offset> </term> <term> <value>Noida</value> <offset>43</offset> </term> <term> <value>Uttar Pradesh</value> <offset>50</offset> </term> <term> <value>India</value> <offset>65</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>11</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>5</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Disneyland Park</value> <offset>11</offset> </term> <term> <value>Disneyland Drive</value> <offset>28</offset> </term> <term> <value>Anaheim</value> <offset>46</offset> </term> <term> <value>CA</value> <offset>55</offset> </term> <term> <value>USA</value> <offset>59</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>22</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>16</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Cathédrale Notre-Dame de Paris</value> <offset>11</offset> </term> <term> <value>Parvis Notre-Dame - place Jean-Paul-II</value> <offset>43</offset> </term> <term> <value>Paris</value> <offset>83</offset> </term> <term> <value>France</value> <offset>90</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>36</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>30</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Paris Beauvais Airport</value> <offset>11</offset> </term> <term> <value>Route de l'Aéroport</value> <offset>35</offset> </term> <term> <value>Tillé</value> <offset>56</offset> </term> <term> <value>France</value> <offset>63</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>11</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>5</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> </AutocompletionResponse>
Gdy usługa Miejsca zwraca wyniki wyszukiwania w formacie JSON, umieszcza je w predictions. Nawet jeśli usługa nie zwróci żadnych wyników (np. gdy location jest zdalny), zwróci pustą tablicę predictions. Odpowiedzi XML składają się z 0 lub większej liczby elementów <prediction>.
PlacesQueryAutocompleteResponse
| Pole | Wymagane | Typ | Opis |
|---|---|---|---|
|
wymagane | Array<PlaceAutocompletePrediction> |
Zawiera tablicę prognoz. Więcej informacji znajdziesz w artykule PlaceAutocompletePrediction. |
|
wymagane | PlacesAutocompleteStatus |
Zawiera stan żądania i może zawierać informacje do debugowania, które pomogą Ci ustalić, dlaczego żądanie nie zostało zrealizowane. Więcej informacji znajdziesz w sekcji PlacesAutocompleteStatus. |
|
opcjonalnie | ciąg znaków |
Jeśli usługa zwróci kod stanu inny niż |
|
opcjonalnie | Array<string> |
Gdy usługa zwraca dodatkowe informacje o specyfikacji żądania, w obiekcie odpowiedzi może pojawić się dodatkowe pole |
PlacesAutocompleteStatus
Kody stanu zwracane przez usługę.
OK, co oznacza, że żądanie do interfejsu API zostało zrealizowane.-
ZERO_RESULTS, co oznacza, że wyszukiwanie zakończyło się powodzeniem, ale nie zwróciło żadnych wyników. Może się tak zdarzyć, jeśli wyszukiwanie zostało przekazane do granic w odległej lokalizacji. -
INVALID_REQUEST, co oznacza, że żądanie do interfejsu API było nieprawidłowo sformułowane, zwykle z powodu braku parametruinput. -
OVER_QUERY_LIMIT– oznacza dowolną z tych czynności:- Przekroczono limity zapytań na sekundę.
- Na Twoim koncie nie włączono płatności.
- Miesięczny limit środków w wysokości 200 USD lub samodzielnie ustalony limit wykorzystania został przekroczony.
- Podana forma płatności nie jest już ważna (np. karta kredytowa straciła ważność).
-
REQUEST_DENIED, z którego wynika, że Twoja prośba została odrzucona, zwykle z tych powodów:- W żądaniu brakuje klucza interfejsu API.
- Parametr
keyjest nieprawidłowy.
UNKNOWN_ERROR– wskazuje nieznany błąd.
Gdy usługa Miejsca zwraca wyniki wyszukiwania w formacie JSON, umieszcza je w tablicy predictions. Nawet jeśli usługa nie zwraca żadnych wyników (np. gdy location jest zdalny), nadal zwraca pustą tablicę predictions. Odpowiedzi XML składają się z co najmniej 1 elementu <prediction>.
PlaceAutocompletePrediction
| Pole | Wymagane | Typ | Opis |
|---|---|---|---|
|
wymagane | ciąg znaków |
Zawiera zrozumiałą dla człowieka nazwę zwróconego wyniku. W przypadku wyników |
|
wymagane | Tablica<PlaceAutocompleteMatchedSubstring> |
Lista podłańcuchów opisujących położenie wpisanego terminu w tekście wyniku podpowiedzi, dzięki czemu w razie potrzeby można go podświetlić. Więcej informacji znajdziesz w sekcji PlaceAutocompleteMatchedSubstring. |
|
wymagane | PlaceAutocompleteStructuredFormat |
Zawiera wstępnie sformatowany tekst, który może być wyświetlany w wynikach autouzupełniania. Te treści należy odczytywać w takiej postaci, w jakiej są wyświetlane. Nie analizuj sformatowanego adresu zautomatyzowany. Więcej informacji znajdziesz w artykule PlaceAutocompleteStructuredFormat. |
|
wymagane | Tablica<PlaceAutocompleteTerm> |
Zawiera tablicę terminów identyfikujących poszczególne sekcje zwróconego opisu (sekcja opisu jest zwykle zakończona przecinkiem). Każdy wpis w tablicy ma pole Więcej informacji znajdziesz w sekcji PlaceAutocompleteTerm. |
|
opcjonalnie | liczba całkowita |
Odległość w metrach w linii prostej od punktu początkowego. To pole jest zwracane tylko w przypadku żądań wysłanych za pomocą |
|
opcjonalnie | ciąg znaków |
Identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. Aby pobrać informacje o miejscu, przekaż ten identyfikator w polu placeId żądania do interfejsu Places API. Więcej informacji o identyfikatorach miejsc znajdziesz w omówieniu identyfikatorów miejsc. |
|
opcjonalnie | ciąg znaków |
Zobacz place_id. |
|
opcjonalnie | Array<string> |
Zawiera tablicę typów, które mają zastosowanie do tego miejsca. Na przykład: |
PlaceAutocompleteMatchedSubstring
| Pole | Wymagane | Typ | Opis |
|---|---|---|---|
|
wymagane | liczba |
Długość pasującego podłańcucha w tekście wyniku prognozy. |
|
wymagane | liczba |
Lokalizacja początkowa pasującego podłańcucha w tekście wyniku prognozy. |
PlaceAutocompleteStructuredFormat
| Pole | Wymagane | Typ | Opis |
|---|---|---|---|
|
wymagane | ciąg znaków |
Zawiera główny tekst prognozy, zwykle nazwę miejsca. |
|
wymagane | Tablica<PlaceAutocompleteMatchedSubstring> |
Zawiera tablicę z wartością Więcej informacji znajdziesz w sekcji PlaceAutocompleteMatchedSubstring. |
|
opcjonalnie | ciąg znaków |
Zawiera tekst dodatkowy podpowiedzi, zwykle lokalizację miejsca. |
|
opcjonalnie | Tablica<PlaceAutocompleteMatchedSubstring> |
Zawiera tablicę z wartością Więcej informacji znajdziesz w sekcji PlaceAutocompleteMatchedSubstring. |
PlaceAutocompleteTerm
| Pole | Wymagane | Typ | Opis |
|---|---|---|---|
|
wymagane | liczba |
Określa pozycję początkową tego terminu w opisie, mierzoną w znakach Unicode. |
|
wymagane | ciąg znaków |
Tekst terminu. |