Błędy klucza interfejsu API i płatności
W pewnych okolicznościach może zostać wyświetlona przyciemniona mapa lub „negatywowy” obraz Street View z znakami wodnymi z tekstem „for development purposes” (tylko do celów rozwojowych). Takie zachowanie zwykle wskazuje na problemy z kluczem API lub rozliczeniami. Aby korzystać z usług Google Maps Platform, musisz mieć na koncie włączone płatności, a wszystkie żądania muszą zawierać prawidłowy klucz interfejsu API. Poniższa procedura pomoże Ci rozwiązać ten problem:
Czy używasz klucza interfejsu API?
Tego nie wiem. Jak sprawdzić, czy używam klucza interfejsu API?
Klucz interfejsu API jest przekazywany jako parametr key
w adresie URL służącym do wczytania interfejsu Maps JavaScript API. Oto kilka sposobów sprawdzenia, czy używasz klucza API:
- Użyj rozszerzenia Google Maps Platform API Checker do przeglądarki Chrome. Dzięki temu możesz sprawdzić, czy Twoja witryna prawidłowo implementuje licencjonowane interfejsy API Map Google.
- Jeśli do wczytania interfejsu Maps JavaScript API używasz biblioteki lub wtyczki, sprawdź ustawienia tej biblioteki i poszukaj opcji klucza interfejsu API.
- Sprawdź błędy w przeglądarce. Jeśli widzisz te komunikaty, oznacza to, że nie używasz prawidłowo klucza interfejsu API:
- Ostrzeżenie dotyczące interfejsu Maps JavaScript API: NoApiKeys
- Błąd interfejsu Maps JavaScript API: MissingKeyMapError
Informacje dla programistów stron internetowych:
-
Jeśli masz dostęp do kodu źródłowego aplikacji, poszukaj tagu
<script>
, który służy do wczytywania interfejsu Maps JavaScript API. Podczas wczytywania interfejsu Maps JavaScript API zastąp w poniżej zamieszczonym kodzie wartośćYOUR_API_KEY
swoim kluczem interfejsu API.<script async defer src="https://maps.googleapis.com/maps/api/js?key=
YOUR_API_KEY &callback=initMap"> </script> -
Sprawdź w przeglądarce ruch sieciowy generowany przez Twoją witrynę.
W Chrome można to sprawdzić na karcie DevTools Sieć.
Tutaj zobaczysz żądania sieci wysyłane przez Twoją witrynę. Żądania wysyłane za pomocą interfejsu Maps JavaScript API będą znajdować się pod ścieżką
maps/api/js
. Tutaj możesz sprawdzić, czy żądania używają parametrukey
. Podczas wyświetlania karty Sieć może być przydatne odfiltrowanie ruchu sieciowego wedługmaps/api/js
.
Nie, nie używam klucza interfejsu API.
Aby uzyskać klucz interfejsu API, kliknij przycisk poniżej. Jeśli nie widzisz samouczkowej konfiguracji, postępuj zgodnie z pełnymi instrukcjami w artykule Pierwsze kroki z Google Maps Platform.
Pierwsze kroki
Tak, używam klucza interfejsu API.
Świetnie. Sprawdźmy, czy do Twojego projektu jest przypisane konto rozliczeniowe.
Czy z Twoim projektem jest połączone konto rozliczeniowe?
Tego nie wiem. Jak sprawdzić, czy konto rozliczeniowe jest połączone z moim projektem?
W konsoli Google Cloud otwórz stronę Płatności i wybierz projekt, w którym utworzono klucz interfejsu API. Aby sprawdzić, czy klucz jest powiązany z projektem:
- Otwórz sekcję Dane logowania, do której możesz przejść z poziomego paska po lewej stronie w sekcji Google Maps Platform > Dane logowania.
- Sprawdź, czy klucz API, którego obecnie używasz w witrynie, jest widoczny na liście. Jeśli tak nie jest, przejdź do innego projektu i sprawdź tam te dane.
- Jeśli nie możesz znaleźć projektu, w którym znajduje się klucz interfejsu API, być może utraciłeś do niego dostęp.
Poproś o pomoc innych użytkowników w organizacji. Jeśli nie możesz znaleźć pierwotnego projektu:
- Utwórz nowy projekt. Aby to zrobić, na liście projektów kliknij Nowy projekt lub na stronie Menedżera zasobów kliknij Utwórz projekt.
- Tworzenie nowego klucza interfejsu API Możesz to zrobić na stronie Dane logowania. Następnie kliknij Utwórz dane logowania, a potem wybierz Klucz interfejsu API.
Po znalezieniu projektu w konsoli Cloud sprawdź, czy jest do niego dołączone konto rozliczeniowe. Aby to zrobić, otwórz sekcję Płatności w menu po lewej stronie.
Nie, mojego projektu nie ma powiązanego z kontem rozliczeniowym.
Otwórz w konsoli Cloud stronę Włączanie płatności i dodaj do projektu konto rozliczeniowe. Więcej informacji znajdziesz w artykule Pierwsze kroki z Google Maps Platform.
Tak, do mojego projektu jest przypisane konto rozliczeniowe.
Świetnie. Sprawdźmy, czy podana metoda płatności jest prawidłowa.
Czy podana forma płatności nie jest już ważna (np. karta kredytowa, której ważność wygasła)?
możesz dodawać, usuwać i aktualizować formę płatności w konsoli Cloud.
Czy został przekroczony samookreślony dzienny limit interfejsu API?
Jeśli dla któregoś z interfejsów API ustawiony jest limit dzienny, co jest powszechną praktyką zapobiegającą nieoczekiwanym wzrostom, możesz rozwiązać ten problem, zwiększając limit dzienny.
Limity dzienne możesz sprawdzić w panelu Interfejsy API i usługi w konsoli Cloud. Gdy otworzysz Menedżera:
- Jeśli pojawi się monit, wybierz projekt.
- Wybierz interfejs API z listy, a potem kliknij kartę Limity.
Czy Twój klucz interfejsu API ma ograniczenie adresów IP?
Kluczy API z ograniczeniem adresów IP można używać tylko z usługami internetowymi przeznaczonymi do korzystania po stronie serwera (np. Geocoding API i innymi interfejsami API usług internetowych). Większość z tych usług internetowych ma odpowiedniki w Maps JavaScript API (np. usługa geokodowania). Aby korzystać z usług po stronie klienta interfejsu Maps JavaScript API, musisz utworzyć osobny klucz interfejsu API, który można zabezpieczyć za pomocą ograniczenia stron odsyłających HTTP (patrz Uzyskiwanie, dodawanie i ograniczanie dostępu do klucza interfejsu API).
Jeśli kod nie działa:
Aby pomóc Ci w uruchomieniu kodu map, Brendan Kenny i Mano Marks wskazują w tym filmie kilka typowych błędów i sposoby ich naprawiania.
- Sprawdź, czy nie ma literówek. Pamiętaj, że w JavaScript wielkość liter ma znaczenie.
- Sprawdź podstawy – niektóre z najczęstszych problemów występują podczas tworzenia mapy. Na przykład:
- Sprawdź, czy w opcjach mapy masz określone właściwości
zoom
icenter
. - Upewnij się, że masz zadeklarowany element div, w którym mapa będzie widoczna na ekranie.
- Upewnij się, że element div mapy ma wysokość. Domyślnie elementy div są tworzone z wysokością 0, dzięki czemu są niewidoczne.
- Sprawdź, czy w opcjach mapy masz określone właściwości
- Użyj debugera JavaScriptu, aby zidentyfikować problemy, takie jak te dostępne w Narzędziach dla deweloperów w Chrome. Najpierw sprawdź konsolę JavaScriptu pod kątem błędów.
- Opublikuj pytania na Stack Overflow. Wskazówki, jak publikować dobre pytania, znajdziesz na stronie Pomoc.