Статические веб-API платформы Google Карт представляют собой набор HTTP-интерфейсов для служб Google, которые генерируют изображения, которые можно встроить непосредственно на веб-страницу.
В этом руководстве описываются некоторые распространенные методы, полезные для настройки запросов изображений и обработки ответов службы. Полную документацию по Maps Static API см. в руководстве разработчика .
Что такое статический веб-API?
Статические веб-API платформы Google Maps позволяют вставлять изображение Google Maps на веб-страницу без использования JavaScript или какой-либо динамической загрузки страницы. API создают изображение на основе параметров URL, отправляемых через стандартный HTTP-запрос, и позволяют отображать результат на вашей веб-странице.Типичный запрос Maps Static API обычно имеет следующую форму:
https://maps.googleapis.com/maps/api/staticmap?parameters
Примечание . Все приложения Maps Static API требуют аутентификации. Получите дополнительную информацию об учетных данных для аутентификации .
SSL/TLS-доступ
HTTPS требуется для всех запросов платформы Google Карт, которые используют ключи API или содержат пользовательские данные. Запросы, сделанные по протоколу HTTP и содержащие конфиденциальные данные, могут быть отклонены.
Создание действительного URL-адреса
Вы можете подумать, что «действительный» URL-адрес самоочевиден, но это не совсем так. Например, URL-адрес, введенный в адресной строке браузера, может содержать специальные символы (например, "上海+中國"
); браузер должен внутренне перевести эти символы в другую кодировку перед передачей. Точно так же любой код, который генерирует или принимает ввод UTF-8, может рассматривать URL-адреса с символами UTF-8 как «действительные», но также должен переводить эти символы перед их отправкой на веб-сервер. Этот процесс называется URL-кодированием или процентным кодированием .
Специальные символы
Нам необходимо перевести специальные символы, поскольку все URL-адреса должны соответствовать синтаксису, указанному в спецификации универсального идентификатора ресурса (URI) . Фактически это означает, что URL-адреса должны содержать только специальное подмножество символов ASCII: знакомые буквенно-цифровые символы и некоторые зарезервированные символы для использования в качестве управляющих символов в URL-адресах. В этой таблице приведены эти символы:
Установлен | персонажи | Использование URL |
---|---|---|
буквенно-цифровой | abcdefghijklm nopqrstuvwxyz ABCDEFGHIJKLM NOPQRSTUVWXYZ 0 1 2 3 4 5 6 7 8 9 | Текстовые строки, использование схемы ( http ), порт ( 8080 ) и т. д. |
Незарезервировано | - _ . ~ | Текстовые строки |
Сдержанный | ! * ' ( ) ; : @ & = + $ , / ? % # [ ] | Управляющие символы и/или текстовые строки |
При создании допустимого URL-адреса необходимо убедиться, что он содержит только те символы, которые указаны в таблице «Сводка допустимых символов URL-адреса». Согласование URL-адреса с использованием этого набора символов обычно приводит к двум проблемам: пропуску и замене:
- Символы, с которыми вы хотите работать, существуют за пределами указанного выше набора. Например, символы иностранных языков, такие как
上海+中國
, необходимо кодировать с использованием указанных выше символов. По популярному соглашению, пробелы (которые не допускаются в URL-адресах) часто также представляются с помощью символа плюс'+'
. - Символы существуют в указанном выше наборе как зарезервированные символы, но их необходимо использовать буквально. Например,
?
используется в URL-адресах для указания начала строки запроса; если вы хотите использовать строку «? и Мистерионы», вам нужно будет закодировать'?'
персонаж.
Все символы, которые должны быть закодированы в URL-адресе, кодируются с использованием символа '%'
и двухсимвольного шестнадцатеричного значения, соответствующего их символу UTF-8. Например,上海+中國
в UTF-8 будет кодироваться URL как %E4%B8%8A%E6%B5%B7%2B%E4%B8%AD%E5%9C%8B
. Строка ? and the Mysterians
будут закодированы в URL как %3F+and+the+Mysterians
или %3F%20and%20the%20Mysterians
.
Общие символы, которые нуждаются в кодировании
Некоторые общие символы, которые должны быть закодированы:
Небезопасный персонаж | Закодированное значение |
---|---|
Пространство | %20 |
" | %22 |
< | %3C |
> | %3E |
# | %23 |
% | %25 |
| | %7C |
Преобразование URL-адреса, который вы получаете от пользовательского ввода, иногда бывает сложной задачей. Например, пользователь может ввести адрес как «5th&Main St.» Как правило, вы должны создавать свой URL-адрес из его частей, рассматривая любой ввод пользователя как буквальные символы.
Кроме того, URL-адреса ограничены 8192 символами для всех веб-служб платформы Google Карт и статических веб-API. Для большинства служб это ограничение редко достигается. Однако обратите внимание, что у некоторых служб есть несколько параметров, которые могут привести к длинным URL-адресам.