Najczęstsze pytania o geokodowanie

Wskazówki dotyczące Geocoding API Aby uzyskać odpowiedzi na pytania dotyczące wszystkich usług Google Maps Platform, zapoznaj się z najczęstszymi pytaniami dotyczącymi Google Maps Platform. Zobacz też sprawdzone metody geokodowania adresów.

Rozwiązywanie problemów

Rozwiązywanie problemów

Otrzymuje więcej zapytań, które zwracają ZERO_RESULTS za pomocą geokodera. Co się dzieje?

W geokodierze niejednoznaczne, niepełne i źle sformatowane zapytania, takie jak niepoprawnie napisane lub nieistniejące adresy, często dają wynik ZERO_RESULTS. Jeśli nie można znaleźć adresu, warto użyć parametru ZERO_RESULTS zamiast częściowego wyniku (np. zwracania tylko nazwy przedmieścia zamiast adresu).

Jeśli Twoja aplikacja obsługuje wprowadzanie adresów przez użytkownika, funkcja Autouzupełnianie miejsc w interfejsie Places API może zapewnić lepsze wyniki. Autouzupełnianie miejsc pozwala użytkownikom wybierać spośród zestawu wyników na podstawie tego, co wpisali. Dzięki temu mogą wybierać spośród wyników o podobnych nazwach, a także dostosowywać zapytanie, jeśli popełnią błąd w adresie.

Jeśli Twoja aplikacja obsługuje niejednoznaczne lub niekompletne zapytania albo zapytania, które mogą zawierać błędy, zalecamy użycie funkcji autouzupełniania miejsc w interfejsie Places API zamiast geokodowania wyprzedzającego dostępnego w interfejsie Geocoding API. Więcej informacji znajdziesz w artykule Sprawdzone metody geokodowania adresów oraz w  poście na blogu interfejsów API Map Google poświęconym geokodowaniu adresów.

Potrzebuję szybkich odpowiedzi, a geokodowanie jest zbyt wolne dla mojej aplikacji. Co mogę zrobić, aby uzyskać szybsze odpowiedzi?

Zalecamy, aby aplikacje, które reagują na dane wprowadzane przez użytkownika i są w wypadku opóźnień bardzo czułe, korzystały z funkcji Autouzupełniania miejsc w interfejsie Places API (dostępnej też w JavaScript, AndroidiOS) zamiast geokodowania adresów. Autouzupełnianie miejsc jest zoptymalizowane pod kątem interakcji, dzięki czemu ma bardzo małe opóźnienie.

Geokodowanie adresów w interfejsie Geocoding API jest zoptymalizowane pod kątem pełnych, jednoznacznych i prawidłowo sformatowanych adresów, np. adresów dostawy wpisywanych w formularzach online. W związku z tym czas oczekiwania jest dłuższy niż w przypadku autouzupełniania miejsc. Geokodowanie do przodu zapewnia większy zasięg i lepszą jakość wyników, ale z nieco większym opóźnieniem.

Jak mogę zmniejszyć opóźnienia w interfejsach Directions API i Distance Matrix API?

Zamiast adresów użyj identyfikatorów miejsc, aby określić punkty pośrednie, punkt początkowy i docelowy. Identyfikatory miejsc najlepiej pobrać z funkcji Autouzupełnianie miejsc w interfejsie Places API lub z biblioteki Miejsca w interfejsie Maps JavaScript API. Zapoznaj się też z informacjami o opcji placeIdOnly, która może pomóc w obniżeniu kosztów autouzupełniania miejsc.

Gdy interfejsy Directions API lub Distance Matrix API otrzymują zapytanie z adresem w postaci ciągu znaków zamiast identyfikatora miejsca docelowego lub współrzędnych geograficznych, korzystają z tego samego zaplecza co interfejs Geocoding API, aby przed obliczeniem trasy przekonwertować ten adres na identyfikator miejsca docelowego. Autouzupełnianie miejsc jest szybsze niż geokodowanie adresów. W przypadku aplikacji, które korzystają z interfejsu Directions API lub Distance Matrix API w sytuacjach bardzo wrażliwych na czas oczekiwania, np. w reakcji na dane wprowadzane przez użytkownika, zalecamy użycie autouzupełniania miejsc do wyszukiwania identyfikatorów miejsc odpowiadających tym adresom i przekazanie tych identyfikatorów do interfejsu Directions API lub Distance Matrix API. Dzięki temu opóźnienia są znacznie mniejsze. Więcej informacji znajdziesz w  dokumentacji, w której znajdziesz przykład użycia Autouzupełniania miejsc w połączeniu z trasą.

Jak zgłaszać błędy w geokodierze?

Jeśli masz jakiekolwiek zgłaszane błędy lub prośby o dodanie funkcji dotyczące usługi forward geocoder, daj nam znać, korzystając z publicznego narzędzia do śledzenia problemów.

W moim przypadku geokoder nie daje dobrych wyników. Jaka pomoc jest dostępna?

Poinformuj nas o tym, korzystając z publicznego śledzenia problemów, podając kilka konkretnych zapytań, abyśmy mogli sprawdzić, czy występują błędy lub problemy systemowe, które powodują problemy z jakością wyników, lub czy możemy wprowadzić jakieś zmiany w przewodniku po sprawdzonych metodach, aby pomóc deweloperom uzyskać lepsze wyniki.

Jak uzyskać najlepsze wyniki za pomocą geokodera przy użyciu filtrowania komponentów?

W geokodierze filtrowanie komponentów wymusza tylko ograniczenia postal_codecountry. Poniższe przykłady pokazują, jak najlepiej stosować filtrowanie komponentów w zależności od potrzebnych wyników. W przykladowych adresach URL żądań zastąp ciąg „YOUR_API_KEY” swoim kluczem API.

  • Aby ograniczyć kody pocztowe do konkretnego kraju, określ ograniczenie kraju za pomocą kodu kraju w formacie ISO 3166-2. Na przykład:components=country:CH|postal_code:8000 zwraca „8000 Zürich, Szwajcaria”.
    https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY
  • Aby ograniczyć zapytania do konkretnego kraju, określ ograniczenie kraju za pomocą kodu kraju w formacie ISO 3166-2. Nazwy krajów i inne skróty nie dają gwarancji uzyskania takich samych wyników co kody krajów.

    Przykłady:

    • Geokodowanie adresu components=country:FRA|locality:gallus zwraca dzielnicę Gallus we Frankfurcie nad Menem w Niemczech. Dzieje się tak, ponieważ 3-literowy kod kraju Francji (FRA) nie jest obsługiwany, więc wyniki z dowolnego kraju są dozwolone, a wynik z Frankfurtu jest lepszy niż cokolwiek we Francji.
      https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
  • Interfejs Geocoding API niekoniecznie zwróci wielu wyników w przypadku niejednoznacznych zapytań. Takie zapytania lepiej odpowiadają autouzupełnianiu miejsc.

    Przykłady:

    • Geokodowanie dla components=country:US|locality:madrid zwraca „Madrid, NM 87010, USA”, ale nie żadne inne miasto w USA o nazwie „Madrid”.
      https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY
    • Korzystając z autouzupełniania miejsc w przypadku input=madrid&components=country:us&types=(regions) oraz określając widok za pomocą locationradius, aby ustawić preferencje dotyczące wyników lokalizacji, generuje odpowiedź z kilkoma miastami w USA o nazwie „Madrid”.
      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