Poniżej znajdziesz odpowiedzi na najczęstsze pytania dotyczące interfejsu Geocoding API. Przeczytaj odpowiedzi na najczęstsze pytania dotyczące Google Maps Platform. Zobacz też Sprawdzone metody używania adresów geograficznych.
Rozwiązywanie problemów
- Dostaję więcej zapytań, które zwracają zerowe wyniki przy użyciu geokodera. Co się dzieje?
- Potrzebuję szybkich odpowiedzi, a geokoder jest zbyt wolny dla mojej aplikacji. Co mogę zrobić, aby przyspieszyć odpowiedzi?
- Jak mogę zminimalizować czas oczekiwania w interfejsie DIRECTION API i interfejsie DISTANCE Matrix API?
- Korzystam z abonamentu Premium, a interfejs Places API jest zbyt drogi. Co mogę zrobić, aby obniżyć koszty?
- Jak zgłosić błędy w transkoderze?
- Koder nie generuje dobrych wyników w moim przypadku użycia. Jaka jest pomoc?
- Jak uzyskać najlepsze wyniki dzięki koderowi za pomocą filtrowania komponentów?
Rozwiązywanie problemów
- Otrzymuję więcej zapytań, które zwracają zerowe wyniki przy użyciu geokodera. Co się dzieje?
-
W geokodecie niejednoznaczne, niepełne i nieprawidłowo sformatowane zapytania, np. z błędami lub nieistniejącymi adresami, są zwykle podatne na ZERO_RESULTS. Jeśli nie można znaleźć adresu, preferowany jest częściowy wynik ZERO_RESULTS (na przykład zwrot tylko przedmieścia zamiast adresu).
Jeśli aplikacja obsługuje przesyłanie danych przez użytkowników za pomocą adresów, funkcja autouzupełniania miejsc w interfejsie Places API zapewnia lepsze wyniki. Autouzupełnianie miejsc pozwala użytkownikom wybrać spośród zestawu wyników na podstawie tego, co wpisuje, co pozwala użytkownikom wybierać między wynikami o podobnej nazwie i dopasowywać ich zapytanie, gdy adres zostanie błędnie zapisany.
Jeśli masz aplikację przeznaczoną do obsługi niejednoznacznych lub niekompletnych zapytań bądź zapytań, które mogą zawierać błędy, zalecamy skorzystanie z funkcji autouzupełniania miejsc w interfejsie Places API, a nie z geokodowania przekierowującego dostępnego w interfejsie Geocoding API. Więcej szczegółów znajdziesz w sprawdzonych metodach dotyczących geokodowania adresów oraz w poście na blogu poświęconym interfejsom API Map Google.
- Potrzebuję szybkich odpowiedzi, a koder jest zbyt wolny dla mojej aplikacji. Co mogę zrobić, aby przyspieszyć odpowiedzi?
-
Zalecamy, aby aplikacje reagowały na dane wprowadzane przez użytkowników i wyróżniały się z większym opóźnieniem, korzystając z funkcji autouzupełniania miejsc w interfejsie Places API (takiej jak JavaScript, Android czy iOS). Autouzupełnianie miejsc jest zoptymalizowane do użytku interaktywnego, więc ma bardzo małe opóźnienie.
Geokodowanie adresów w interfejsie Geocoding API jest zoptymalizowane pod kątem używania kompletnych, jednoznacznych i dobrze sformatowanych adresów, takich jak adresy dostawy wpisane w formularzach internetowych, a także powoduje większe opóźnienie niż w przypadku autouzupełniania miejsc. Koder prowadzący do przodu ma większy zasięg i lepszą jakość wyników, ale trochę dłuższy czas oczekiwania.
- Jak mogę zmniejszyć opóźnienie w interfejsie DIRECTION API i interfejsie DISTANCE Matrix API?
-
Zamiast adresów użyj identyfikatorów miejsc, aby wskazać punkty na trasie, miejsce początkowe i miejsce docelowe. Najdokładniejszym identyfikatorem jest używanie funkcji Autouzupełnianie miejsc w interfejsie Places API lub biblioteka Miejsc w interfejsie Maps JavaScript API. Zobacz też informacje dotyczące opcji
placeIdOnly
, która umożliwia zmniejszenie kosztów autouzupełniania miejsc.Jeśli zapytanie o interfejs API trasy lub interfejs DISTANCE Matrix API jest wysyłane za pomocą ciągu adresu, a nie identyfikatora miejsca lub długości geograficznej, przed obliczeniem trasy używa tego samego backendu co interfejs Geocoding API. Autouzupełnianie miejsc jest szybsze niż geokodowanie adresów. W przypadku aplikacji, które korzystają z interfejsu DIRECTION API lub interfejsu DISTANCE Matrix API, np. w odpowiedzi na zapytania użytkowników, zalecamy korzystanie z funkcji autouzupełniania miejsc w celu pobrania identyfikatorów miejsc odpowiadających tym adresom i przekazanie ich do interfejsu Route API lub interfejsu DISTANCE Matrix API. Takie podejście znacznie zmniejsza opóźnienie. Przykład użycia autouzupełniania miejsc ze wskazówkami dojazdu znajdziesz w dokumentacji.
- Jak zgłaszać błędy w koderze?
-
Jeśli masz raporty o błędach lub prośby o dodanie funkcji dotyczące kodera stron przychodzących, daj nam znać, korzystając z naszego narzędzia do śledzenia błędów.
- Geokoder nie przynosi dobrych wyników w moim przypadku użycia. Jaka jest pomoc?
-
Daj nam znać przy użyciu naszego publicznego narzędzia do śledzenia błędów i podaj kilka konkretnych zapytań, żebyśmy mogli się dowiedzieć, czy występują błędy lub problemy systemowe, które powodują problemy z jakością wyników, albo czy możemy wprowadzić zmiany w naszym przewodniku po sprawdzonych metodach, aby pomóc deweloperom w osiągnięciu lepszych wyników.
- Jak uzyskać najlepsze wyniki za pomocą kodera za pomocą filtrowania komponentów?
-
W geokoderze filtrowanie komponentów wymusza tylko ograniczenia
postal_code
icountry
. Poniższe przykłady pokazują, jak najlepiej stosować komponenty w zależności od potrzebnych wyników. W przykładowych adresach URL żądań zastąp „YOUR_API_KEY” rzeczywistym kluczem interfejsu API.- Aby ograniczyć dostęp do kodów pocztowych w konkretnym kraju, musisz określić te ograniczenia, używając kodu kraju w formacie ISO 3166-2.
Na przykład:
components=country:CH|postal_code:8000
zwraca &&tt;8000 Zurych, Szwajcaria".https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY
- Aby ograniczyć zapytanie do konkretnego kraju, określ je za pomocą kodu kraju w formacie ISO 3166-2. Nie możemy zagwarantować, że nazwy krajów i inne skróty zapewnią takie same wyniki jak kody krajów.
Przykłady:
- Geokodowanie regionu
components=country:FRA|locality:gallus
zwraca podregion Gallus we Frankfurcie nad Menem. Wynika to z faktu, że 3-literowy kod kraju we Francji (FRA) nie jest obsługiwany, dlatego wyniki we wszystkich krajach są dozwolone, a frankfurt może być lepszą metodą.https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
- Geokodowanie regionu
- Interfejs Geocoding API nie zawsze zwraca wiele wyników w przypadku niejednoznacznych zapytań. Odpowiedzi na takie zapytania lepiej wpisuje się w autouzupełnianiu miejsca.
Przykłady:
- Geokodowanie
components=country:US|locality:madrid
zwraca wartość "Madrid, NM 87010, USA" z żadnego innego miasta USA o nazwie "Mridrid".https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY
- Korzystanie z autouzupełniania miejsc (
input=madrid&components=country:us&types=(regions)
) i określenie widocznego obszaru za pomocąlocation
iradius
w celu odchylenia wyników lokalizacji powoduje wygenerowanie odpowiedzi z kilkoma miastami w Stanach Zjednoczonych o nazwie "Madryt".https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=madrid&components=country:us&types=(regions)&key=YOUR_API_KEY
- Geokodowanie
- Aby ograniczyć dostęp do kodów pocztowych w konkretnym kraju, musisz określić te ograniczenia, używając kodu kraju w formacie ISO 3166-2.
Na przykład: