Sprawdzone metody korzystania z interfejsu Maps Static API

Statyczne interfejsy API Google Maps Platform to zbiór interfejsów HTTP do usług Google, które generują obrazy, które możesz osadzać bezpośrednio na swojej stronie internetowej.

W tym przewodniku znajdziesz opis kilku typowych praktyk, które możesz zastosować podczas konfigurowania żądań obrazów i przetwarzania odpowiedzi usługi. Więcej informacji o interfejsie Maps Static API znajdziesz w przewodniku dla deweloperów.

Czym jest statyczny interfejs API?

Statyczne interfejsy internetowe Google Maps Platform umożliwiają umieszczanie obrazu z Map Google na stronie internetowej bez konieczności używania JavaScriptu ani dynamicznego wczytywania strony. Statyczne interfejsy API do internetu tworzą obraz na podstawie parametrów adresu URL wysyłanych za pomocą standardowego żądania HTTPS.

Typowe żądanie do interfejsu Maps Static API ma następującą postać:

  https://www.googleapis.com/staticmap/z/x/y?parameters

Uwaga: wszystkie aplikacje korzystające z interfejsu Maps Static API wymagają uwierzytelniania. Więcej informacji znajdziesz w artykule o danych uwierzytelniających.

Dostęp TLS

Protokół HTTPS jest wymagany w przypadku wszystkich żądań Google Maps Platform, które używają kluczy API lub zawierają dane użytkownika. Żądania wysyłane przez HTTP, które zawierają dane wrażliwe, mogą zostać odrzucone.

Tworzenie prawidłowego adresu URL

Może Ci się wydawać, że „prawidłowy” adres URL jest oczywisty, ale tak nie jest. Adres URL wpisany na przykład w pasku adresu w przeglądarce może zawierać znaki specjalne (np."上海+中國"). Przed przesłaniem przeglądarka musi wewnętrznie przetłumaczyć te znaki na inne kodowanie. Podobnie każdy kod, który generuje lub akceptuje dane wejściowe w formacie UTF-8, może traktować adresy URL ze znakami UTF-8 jako „prawidłowe”, ale przed wysłaniem ich do serwera WWW musi przetłumaczyć te znaki. Ten proces nazywa się kodowaniem URL lub kodowaniem procentowym.

Znaki specjalne

Musimy przetłumaczyć znaki specjalne, ponieważ wszystkie adresy URL muszą być zgodne ze składnią określoną w specyfikacji Uniform Resource Identifier (URI). Oznacza to, że adresy URL muszą zawierać tylko specjalny podzbiór znaków ASCII: znane symbole alfanumeryczne i niektóre znaki zarezerwowane do użycia jako znaki sterujące w adresach URL. W tej tabeli podsumowano te znaki:

Podsumowanie prawidłowych znaków w adresie URL
UstawznakówUżycie adresu URL
Alfanumeryczne a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ciągi tekstowe, użycie schematu (http), port (8080) itp.
Niezarezerwowane - _ . ~ Ciągi tekstowe
Zarezerwowane ! * ' ( ) ; : @ & = + $ , / ? % # [ ] znaki kontrolne lub ciągi tekstowe,

Podczas tworzenia prawidłowego adresu URL musisz zadbać o to, aby zawierał on tylko znaki widoczne w tabeli. Dostosowanie adresu URL do tego zestawu znaków zwykle powoduje 2 problemy: pominięcie i zamianę:

  • Znaki, które chcesz obsługiwać, nie należą do powyższego zestawu. Na przykład znaki w językach obcych, takie jak 上海+中國, muszą być zakodowane przy użyciu powyższych znaków. Zgodnie z powszechną konwencją spacje (które są niedozwolone w adresach URL) są często reprezentowane za pomocą znaku plusa '+'.
  • Znaki z powyższego zbioru są znakami zarezerwowanymi, ale muszą być używane dosłownie. Na przykład symbol ? jest używany w adresach URL do oznaczania początku ciągu zapytania. Jeśli chcesz użyć ciągu znaków „? and the Mysterions”, musisz zakodować znak '?'.

Wszystkie znaki, które mają być zakodowane na potrzeby adresu URL, są kodowane za pomocą znaku '%' i dwuznakowej wartości szesnastkowej odpowiadającej znakowi UTF-8. Na przykład znak 上海+中國 w kodowaniu UTF-8 będzie zakodowany w adresie URL jako %E4%B8%8A%E6%B5%B7%2B%E4%B8%AD%E5%9C%8B. Ciąg znaków ? and the Mysterians zostanie zakodowany jako %3F+and+the+Mysterians lub %3F%20and%20the%20Mysterians.

Typowe znaki, które wymagają kodowania

Oto kilka typowych znaków, które muszą być zakodowane:

Niebezpieczny znak Wartość zakodowana
Spacja %20
”. %22
< %3C
> %3E
# %23
% %25
| %7C

Konwertowanie adresu URL otrzymanego z danych wejściowych użytkownika może być czasami trudne. Na przykład użytkownik może wpisać adres jako „5th&Main St.”. Zazwyczaj adres URL należy tworzyć z jego części, traktując dane wejściowe użytkownika jako znaki dosłowne.

Dodatkowo w przypadku wszystkich usług sieciowych Google Maps Platform i statycznych interfejsów API sieciowych adresy URL są ograniczone do 16384 znaków. W przypadku większości usług ten limit znaków rzadko będzie osiągany. Pamiętaj jednak, że niektóre usługi mają kilka parametrów, które mogą powodować długie adresy URL.