Najczęstsze pytania o geokodowanie

Te najczęstsze pytania zawierają pytania dotyczące interfejsu Geocoding API. Zapoznaj się z Najczęstszymi pytaniami na temat Google Maps Platform, aby znaleźć odpowiedzi na najczęstsze pytania dotyczące Google Maps Platform. Zapoznaj się też ze sprawdzonymi metodami geokodowania adresów.

Rozwiązywanie problemów

Rozwiązywanie problemów

Otrzymuję więcej zapytań, które z geokoderem zwracają ZERO_RESULTS. Co się dzieje?

W geokoderze niejednoznaczne, niepełne i nieprawidłowo sformatowane zapytania, np. z błędną pisownią lub nieistniejącymi adresami, mogą wygenerować ZERO_RESULTS. Jeśli nie można znaleźć adresu, preferowane jest ZERO_RESULTS dla częściowego wyniku (na przykład zwracanie tylko nazwy przedmieścia zamiast adresu).

Jeśli Twoja aplikacja obsługuje adresy wpisywane przez użytkowników, funkcja autouzupełniania w interfejsie Places API może przynieść lepsze wyniki. Autouzupełnianie miejsc umożliwia użytkownikom wybieranie wyników z zestawu wyników na podstawie wpisanych przez nich haseł. Dzięki temu użytkownicy mogą wybierać wyniki o podobnej nazwie i dostosowywać zapytanie w przypadku, gdy popełnią błąd w adresie.

Jeśli Twoja aplikacja obsługuje niejednoznaczne lub niepełne zapytania bądź zapytania, które mogą zawierać błędy, zalecamy użycie funkcji autouzupełniania miejsc w interfejsie Places API zamiast geokodera do przekazywania dalej dostępnego w interfejsie Geocoding API. Więcej informacji znajdziesz w opisach sprawdzonych metod dotyczących geokodowania adresów i geokodowania adresów w poście na blogu na temat interfejsów API Map Google.

Potrzebuję szybkich odpowiedzi, a geokoder działa zbyt wolno dla mojej aplikacji. Czego mogę użyć do szybszego odpowiadania?

Zalecamy, aby aplikacje reagujące na dane wejściowe użytkownika, a tym samym bardzo wrażliwe na czas oczekiwania, korzystały z funkcji autouzupełniania miejsca w interfejsie Places API (dostępnej też w JavaScript, Androidzie i iOS), a nie za pomocą geokodowania. Autouzupełnianie miejsc jest zoptymalizowane pod kątem interaktywnego użytku, dzięki czemu ma bardzo małe opóźnienie.

Geokodowanie adresów w interfejsie Geocoding API jest zoptymalizowane pod kątem korzystania z pełnych, jednoznacznych i dobrze sformatowanych adresów, takich jak adresy dostawy wpisane w formularzach online, i dlatego ma dłuższy czas oczekiwania niż autouzupełnianie miejsc. Geokoder główny ma większy zasięg i lepszą jakość wyników, ale zajmuje nieco więcej czasu.

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

Zamiast adresów użyj identyfikatorów miejsc, aby określić punkty na trasie, miejsce wylotu i docelowe. Identyfikatory miejsc najlepiej uzyskiwać z funkcji autouzupełniania w interfejsie Places API lub z biblioteki Miejsc w interfejsie Maps JavaScript API. Zapoznaj się też z informacjami o opcji placeIdOnly, która pozwala obniżyć koszty autouzupełniania miejsc.

Gdy do interfejsu Directions API lub Distance Matrix API zapytanie jest wysyłane z użyciem ciągu adresu, a nie identyfikatora miejsca czy długości geograficznej, do przekonwertowania tego adresu na identyfikator miejsca przed obliczeniem wskazówek używają tego samego backendu co interfejs Geocoding API. 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 wymagających dużego czasu oczekiwania, takich jak reagowanie na dane wejściowe użytkownika, zalecamy korzystanie z autouzupełniania miejsc, aby uzyskiwać identyfikatory miejsc odpowiadające tym adresom, i przekazywanie identyfikatorów miejsc do interfejsu Directions API lub Distance Matrix API. To podejście znacznie zmniejsza opóźnienie. W naszej dokumentacji znajdziesz przykład korzystania z autouzupełniania miejsc ze wskazówkami dojazdu.

Jak zgłosić błędy w geokoderze?

Jeśli masz jakieś raporty o błędach lub prośby o dodanie funkcji do usługi geokodera przekazywania, poinformuj nas o tym za pomocą naszego publicznego narzędzia do śledzenia błędów.

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

Daj nam znać, korzystając z naszego publicznego narzędzia do śledzenia problemów, i podaj kilka konkretnych zapytań. To pozwoli nam sprawdzić, czy występują błędy lub problemy systemowe powodujące problemy z jakością wyników albo czy w przewodniku po sprawdzonych metodach możemy wprowadzić zmiany, które pomogą deweloperom uzyskiwać lepsze wyniki.

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

W geokoderze filtrowanie komponentów wymusza tylko ograniczenia na poziomie postal_code i country. Poniższe przykłady pokazują, jak najlepiej korzystać z filtrowania komponentów 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ć zasięg kodów pocztowych do konkretnego kraju, podaj kod kraju w formacie ISO 3166-2. Na przykład: components=country:CH|postal_code:8000 zwraca „8000 Zurych, 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, podaj kod kraju w formacie ISO 3166-2. Nie gwarantujemy, że nazwy krajów i inne skróty będą dawać takie same wyniki jak w przypadku kodów krajów.

    Przykłady:

    • Geokodowanie dla języka components=country:FRA|locality:gallus zwraca strefę Gallus we Frankfurcie nad Menem w Niemczech. Wynika to z faktu, że 3-literowy kod kraju (FRA) nie jest obsługiwany, dlatego dozwolone są wyniki z dowolnego kraju. Wynik we Frankfurcie jest bardziej odpowiedni niż dowolny we Francji.
      https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
      
  • Interfejs Geocoding API nie musi zwracać wielu wyników w przypadku niejednoznacznych zapytań. Na takie zapytania lepiej odpowiada autouzupełnianie miejsc.

    Przykłady:

    • Geokodowanie dla components=country:US|locality:madrid zwraca „Madrid, NM 87010, USA”, ale żadne z innych miast w Stanach Zjednoczonych o nazwie „Madryt”.
      https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY
      
    • Użycie autouzupełniania miejsc dla właściwości input=madrid&components=country:us&types=(regions) oraz określenie widocznego obszaru za pomocą elementów location i radius w celu uchylenia wyników dotyczących 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