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:
| Ustaw | znaków | Uż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.