Введение
Maps Static API возвращает изображение (GIF, PNG или JPEG) в ответ на HTTP-запрос через URL-адрес. Для каждого запроса вы можете указать местоположение карты, размер изображения, уровень масштабирования, тип карты и размещение дополнительных маркеров в местах на карте. Вы можете дополнительно маркировать маркеры буквенно-цифровыми символами.
Изображение Maps Static API встроено в атрибут src
тега <img>
или его эквивалент в других языках программирования.
В этом документе описан требуемый формат URL-адресов Maps Static API и доступные параметры. В нем также приводятся некоторые советы и рекомендации по указанию URL-адресов.
Прежде чем начать
Этот документ предназначен для разработчиков веб-сайтов и мобильных устройств, которые хотят включить изображения Maps Static API на веб-страницу или в мобильное приложение. В нем содержится введение в использование API и справочные материалы по доступным параметрам.
Прежде чем приступить к разработке с помощью Maps Static API, ознакомьтесь с требованиями аутентификации (вам понадобится ключ API), а также с информацией об использовании API и выставлении счетов (необходимо включить выставление счетов в вашем проекте).
Параметры URL-адреса
URL-адрес Maps Static API должен иметь следующую форму:
https://maps.googleapis.com/maps/api/staticmap?parameters
Если доступ к вашему веб-сайту осуществляется через HTTPS, вам также необходимо загружать изображения Maps Static API через HTTPS, чтобы избежать предупреждений системы безопасности браузера. HTTPS также рекомендуется, если ваши запросы содержат конфиденциальную информацию пользователя, например местоположение пользователя:
https://maps.googleapis.com/maps/api/staticmap?parameters
Независимо от того, используете ли вы HTTP или HTTPS, определенные параметры URL-адреса являются обязательными, а некоторые являются необязательными. Как это принято в URL-адресах, все параметры разделяются символом амперсанда ( &
). Список параметров и их возможные значения перечислены в этом документе.
Maps Static API определяет изображения карт, используя следующие параметры URL:
Параметры местоположения
-
center
( обязательный , если маркеры отсутствуют) определяет центр карты, равноудаленный от всех краев карты. Этот параметр принимает местоположение в виде пары {широта,долгота}, разделенной запятыми (например, «40,714728,-73,998672»), или строкового адреса (например, «мэрия, Нью-Йорк, Нью-Йорк»), определяющего уникальное местоположение на поверхности земля. Дополнительную информацию см. в разделе «Местоположения» . -
zoom
( требуется , если маркеры отсутствуют) определяет уровень масштабирования карты, который определяет уровень увеличения карты. Этот параметр принимает числовое значение, соответствующее уровню масштабирования желаемой области. Дополнительную информацию см. в разделе Уровни масштабирования .
Параметры карты
-
size
( обязательный ) определяет прямоугольные размеры изображения карты. Этот параметр принимает строку вида{horizontal_value} x {vertical_value}
. Например,500x400
определяет карту шириной 500 пикселей и высотой 400 пикселей. На картах шириной менее 180 пикселей будет отображаться логотип Google уменьшенного размера. На этот параметр влияет параметрscale
; конечный выходной размер — это произведение значений размера и масштаба. -
scale
( необязательно ) влияет на количество возвращаемых пикселей.scale=2
возвращает в два раза больше пикселей, чемscale=1
сохраняя при этом ту же зону покрытия и уровень детализации (т. е. содержимое карты не меняется). Это полезно при разработке для дисплеев с высоким разрешением. Значение по умолчанию —1
. Принимаемые значения —1
и2
. См. «Значения масштаба» для получения дополнительной информации. -
format
( необязательный ) определяет формат результирующего изображения. По умолчанию Maps Static API создает изображения PNG. Существует несколько возможных форматов, включая типы GIF, JPEG и PNG. Какой формат вы используете, зависит от того, как вы собираетесь представить изображение. JPEG обычно обеспечивает большее сжатие, а GIF и PNG — большую детализацию. Дополнительные сведения см. в разделе Форматы изображений. -
maptype
( необязательный ) определяет тип создаваемой карты. Существует несколько возможных значений типа карты, включаяroadmap
,satellite
,hybrid
иterrain
. Дополнительную информацию см. в разделе Типы карт статического API Карт . -
language
( необязательный ) определяет язык, который будет использоваться для отображения надписей на фрагментах карты. Обратите внимание, что этот параметр поддерживается только для некоторых плиток стран; если запрошенный язык не поддерживается для набора плиток, то для этого набора плиток будет использоваться язык по умолчанию. -
region
( необязательно ) определяет соответствующие границы для отображения, исходя из геополитической чувствительности. Принимает код региона, указанный в виде двухсимвольного значения ccTLD («домен верхнего уровня»). См. сведения о покрытии платформы Google Maps для поддерживаемых регионов.
Параметры функции
-
map_id
( необязательно ) указывает идентификатор конкретной карты. Идентификатор карты связывает карту с определенным стилем или объектом и должен принадлежать тому же проекту, что и ключ API, используемый для инициализации карты. Дополнительную информацию см. в разделе Использование идентификаторов карт . -
markers
( необязательно ) определяют один или несколько маркеров, которые нужно прикрепить к изображению в указанных местах. Этот параметр принимает одно определение маркера с параметрами, разделенными символом вертикальной черты (|
). В одном параметреmarkers
можно разместить несколько маркеров, если они имеют один и тот же стиль; вы можете добавить дополнительные маркеры разных стилей, добавив дополнительные параметрыmarkers
. Обратите внимание: если вы предоставляете маркеры для карты, вам не нужно указывать (обычно необходимые) параметрыcenter
иzoom
. Дополнительную информацию см. в разделе Маркеры статического API Карт . -
path
( необязательный ) определяет один путь из двух или более связанных точек для наложения на изображение в указанных местах. Этот параметр принимает строку определений точек, разделенных символом вертикальной черты (|
), или закодированную ломаную линию с использованием префиксаenc:
в объявлении местоположения пути. Вы можете указать дополнительные пути, добавив дополнительные параметрыpath
. Обратите внимание: если вы указываете путь для карты, вам не нужно указывать (обычно необходимые) параметрыcenter
иzoom
. Дополнительную информацию см. в разделе Пути к статическим API Карт . -
visible
( необязательный ) указывает одно или несколько мест , которые должны оставаться видимыми на карте, но маркеры или другие индикаторы отображаться не будут. Используйте этот параметр, чтобы гарантировать, что определенные объекты или местоположения на карте отображаются в Maps Static API. -
style
( необязательный ) определяет пользовательский стиль для изменения представления определенного объекта (дорог, парков и других объектов) на карте. Этот параметр принимает аргументыfeature
иelement
, определяющие объекты для стилизации, а также набор операций стиля, которые нужно применить к выбранным объектам. Вы можете указать несколько стилей, добавив дополнительные параметрыstyle
. Дополнительную информацию см. в руководстве по стилизованным картам .
Параметры ключа и подписи
-
key
( обязательный ) позволяет вам отслеживать использование API вашим приложением в Google Cloud Console и гарантирует, что Google сможет связаться с вами по поводу вашего приложения, если это необходимо. Дополнительную информацию см. в разделе Использование ключей API с Maps Static API . -
signature
( рекомендуется ) — это цифровая подпись, используемая для проверки того, что любой сайт, генерирующий запросы с использованием вашего ключа API, имеет на это право. Запросы без цифровой подписи могут завершиться неудачей. Дополнительные сведения см. в разделе Использование цифровой подписи .
Ограничение размера URL-адреса
Длина URL-адресов статического API Карт ограничена 16 384 символами. На практике вам, вероятно, не понадобятся более длинные URL-адреса, если только вы не создаете сложные карты с большим количеством маркеров и путей.
Использование параметра
Maps Static API относительно прост в использовании, поскольку он состоит исключительно из параметризованного URL-адреса. В этом разделе объясняется, как использовать эти параметры для создания URL-адресов.
Указание местоположений
Maps Static API должен иметь возможность точно определять местоположения на карте, чтобы сфокусировать карту на правильном месте (с помощью параметра center
) и/или разместить любые дополнительные метки (с использованием параметра markers
) в местах на карте. Maps Static API использует числа (значения широты и долготы) или строки (адреса) для указания этих местоположений. Эти значения определяют геокодированное местоположение.
Некоторые параметры (например, markers
и параметры path
) занимают несколько мест. В этих случаях местоположения разделяются символом вертикальной черты ( |
).
Широта и долгота
Широта и долгота определяются с помощью цифр в текстовой строке, разделенной запятыми, с точностью до 6 знаков после запятой. Например, «40.714728,-73.998672» является допустимым значением геокода. Точность за пределами 6 десятичных знаков игнорируется.
Значения долготы основаны на расстоянии от Гринвича, Англия, где находится нулевой меридиан. Поскольку Гринвич расположен на широте 51,477222, мы можем ввести значение center
51.477222,0
, чтобы центрировать карту по Гринвичу:
Значения широты и долготы должны соответствовать допустимому местоположению на земном шаре. Широта может принимать любое значение от -90
до 90
а значение долготы может принимать любое значение от -180
до 180
. Если вы укажете неверное значение широты или долготы, ваш запрос будет отклонен как неверный.
Адреса
Большинство людей не говорят о широте и долготе; они обозначают местоположения, используя адреса . Процесс преобразования адреса в географическую точку называется геокодированием, и служба Maps Static API может выполнить геокодирование за вас, если вы предоставите действительные адреса.
В любом параметре, где вы можете указать широту/долготу, вы можете вместо этого указать строку, указывающую адрес . Google геокодирует адрес и предоставит службе Maps Static API значение широты и долготы для использования при размещении маркеров или указании местоположений. Строка должна иметь URL-кодировку , поэтому такие адреса, как «Сити-Холл, Нью-Йорк, Нью-Йорк», следует преобразовать, например, в «Сити+Холл,Нью+Йорк,Нью-Йорк».
Обратите внимание, что адреса могут отражать либо точные местоположения, например адреса улиц, ломаные линии, например именованные маршруты, либо полигональные области, например города, страны или национальные парки. Для полилинейных и полигональных результатов сервер Maps Static API будет использовать центральную точку линии/площади в качестве центра адреса. Если у вас есть сомнения относительно того, как адрес может быть геокодирован, вы можете проверить его с помощью этой утилиты геокодирования .
В следующем примере создается статическое изображение карты Беркли, Калифорния:
https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Уровни масштабирования
Карты на Картах Google имеют целочисленный «уровень масштабирования», который определяет разрешение текущего вида. В режиме roadmap
по умолчанию возможны уровни масштабирования от 0
(самый низкий уровень масштабирования, при котором весь мир можно увидеть на одной карте) до 21+
(вплоть до улиц и отдельных зданий). Контуры зданий, если они доступны, появляются на карте при уровне масштабирования 17
. Это значение отличается от региона к региону и может меняться со временем по мере развития данных.
Карты Google устанавливают уровень масштабирования 0
, чтобы охватить всю Землю. Каждый последующий уровень масштабирования удваивает точность как по горизонтали, так и по вертикали. Дополнительную информацию о том, как это делается, можно найти в документации Google Maps JavaScript API .
Примечание. Не все уровни масштабирования отображаются во всех местах на Земле. Уровни масштабирования различаются в зависимости от местоположения, поскольку данные в некоторых частях земного шара более детальны, чем в других местах.
Если вы отправите запрос на уровень масштабирования, при котором нет фрагментов карты, Maps Static API вместо этого вернет пустое изображение.
В следующем списке показан приблизительный уровень детализации, который вы можете ожидать при каждом уровне масштабирования:
- 1: Мир
- 5: Суша/континент
- 10: Город
- 15: Улицы
- 20: Здания
В этом примере запрашиваются две карты Манхэттена с одинаковым значением center
, но с уровнями масштабирования 12 и 14 соответственно:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Размеры изображения
Параметр size
в сочетании с center
определяет зону покрытия карты. Он также определяет выходной размер карты в пикселях при умножении на значение scale
(по умолчанию равное 1
).
В этой таблице показаны максимально допустимые значения параметра size
для каждого значения scale
.
scale=1 | scale=2 |
---|---|
640x640 | 640x640 (возвращает 1280x1280 пикселей) |
В этом примере запрашивается «срез» Земли на экваторе при уровне масштабирования 1:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=400x50&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
В этом примере запрашивается небольшая карта размером 100 x 100 пикселей с центром в том же регионе. Обратите внимание на меньший логотип Google:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=100x100&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Масштабные значения
Параметр size
Maps Static API определяет размер карты в пикселях, поэтому карта с size=200x200
будет возвращена как 200 пикселей на 200 пикселей. На ЖК-мониторе компьютера, который обычно отображает около 100 пикселей на дюйм (ppi), карта размером 200x200 будет иметь размер около 2 дюймов в каждом измерении.
Однако мобильные устройства все чаще включают в себя экраны высокого разрешения с плотностью пикселей более 300 пикселей на дюйм, которые либо:
- Уменьшите размер изображения 200x200 пикселей всего до 0,7 дюйма, в результате чего метки и значки станут слишком маленькими для чтения; или
- Масштабируйте (увеличьте) изображение, чтобы улучшить его разборчивость, в результате чего изображение становится нечетким или пиксельным.
Слишком маленький | Слишком нечетко |
---|---|
![]() | ![]() |
При разработке для мобильных устройств вы можете использовать параметр scale
API, чтобы возвращать изображения карт с более высоким разрешением, которые решают описанные выше проблемы. Значение scale
умножается на size
для определения фактического выходного размера изображения в пикселях без изменения зоны покрытия карты. Значение scale
по умолчанию — 1; принятые значения — 1 и 2.
Например, значение масштаба 2 вернет ту же зону покрытия карты, что и запрос, без указания масштаба, но с вдвое большим количеством пикселей в каждом измерении. Сюда входят дороги и метки, чтобы они были читаемы на экранах небольшого размера с высоким разрешением, а также при масштабировании в браузере.
150х150 | 150x150&масштаб=2 |
---|---|
![]() | ![]() |
Такое изображение также будет хорошо работать в настольных браузерах, если его вставить в тег img
или div
с высотой и шириной, заданными с помощью CSS. Браузер уменьшит изображение до нужного размера без потери качества.
В этой таблице показаны три разных запроса изображений.
- Первый предназначен для изображения размером 100x100 без указания значения масштаба. Он правильно отображается на рабочем столе, но слишком мал для чтения на мобильном устройстве.
- Второй удваивает размер карты. На рабочем столе CSS помещает его в указанный элемент
img
100x100, но при уменьшении размера изображения дороги и метки становятся слишком маленькими. На мобильном устройстве изображение правильного размера, но дороги и надписи опять же неразборчивы. - Третий запрос — карта размером 100x100 с
scale=2
. Изображение возвращается с детализацией 200 пикселей; настольный компьютер идеально масштабирует его, так что он неотличим от исходного запроса размером 100x100, а мобильный браузер получает выгоду от дополнительного разрешения, возвращаемого API.
Запросы изображений | |||
---|---|---|---|
Устройство | 100x100 | 200x200 | 100x100&scale=2 |
Рабочий стол (с height="100px" иwidth="100px" натег img ) | ![]() | ![]() | ![]() |
Высокое разрешение (смоделировано) | ![]() | ![]() | ![]() |
Для получения дополнительной информации о разработке для мобильных устройств и дисплеев с высоким разрешением рекомендуется прочитать следующее:
- Поддержка нескольких экранов в документации для разработчиков Android.
- Рекомендации Webkit.org по разработке веб-сайтов с высоким разрешением .
- Поддержка экранов высокого разрешения в библиотеке разработчиков iOS.
Форматы изображений
Изображения могут быть возвращены в нескольких распространенных форматах веб-графики: GIF , JPEG и PNG . Параметр format
принимает одно из следующих значений:
-
png8
илиpng
(по умолчанию) задает 8-битный формат PNG . -
png32
определяет 32-битный формат PNG . -
gif
указывает формат GIF . -
jpg
указывает формат сжатия JPEG . -
jpg-baseline
определяет непрогрессивный формат сжатия JPEG .
В этих примерах запрашиваются карты в форматах gif
и png
:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=gif&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=png&&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
jpg
и jpg-baseline
обычно обеспечивают наименьший размер изображения, хотя они делают это за счет сжатия с потерями, которое может ухудшить изображение. gif
, png8
и png32
обеспечивают сжатие без потерь.
Большинство изображений JPEG являются прогрессивными, что означает, что они загружают более грубое изображение раньше и улучшают разрешение изображения по мере поступления большего количества данных. Это позволяет быстро загружать изображения на веб-страницы и в настоящее время является наиболее распространенным вариантом использования JPEG. Однако некоторые варианты использования JPEG требуют непрогрессивных (базовых) изображений. В таких случаях вы можете использовать jpg-baseline
, который не является прогрессивным.
Типы карт
Maps Static API создает карты в нескольких форматах, перечисленных ниже:
-
roadmap
(по умолчанию) определяет стандартное изображение дорожной карты, которое обычно отображается на веб-сайте Google Maps. Если значениеmaptype
не указано, Maps Static API по умолчанию отображает фрагментыroadmap
. -
satellite
указывает спутниковое изображение. -
terrain
определяет изображение карты физического рельефа, показывающее местность и растительность. -
hybrid
определяет гибрид спутникового изображения и изображения дорожной карты, показывая прозрачный слой основных улиц и названий мест на спутниковом изображении.
В этом примере кода вы можете увидеть разницу между дорожной картой и типами ландшафта.
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=roadmap&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=terrain&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Гибридные карты используют спутниковые изображения и важные элементы дорожной карты для создания комбинированной карты. В следующих примерах показаны типы спутниковых и гибридных карт:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=satellite&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=hybrid&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Стилизованные карты
Настройте представление стандартной карты Google, применив собственные стили. См. руководство по стилизованным картам .
Маркеры
Параметр markers
определяет набор из одного или нескольких маркеров (отметок на карте) в наборе мест. Каждый маркер, определенный в одном объявлении markers
, должен иметь один и тот же визуальный стиль; Если вы хотите отображать маркеры с разными стилями, вам нужно будет предоставить нескольким параметрам markers
отдельную информацию о стиле.
Параметр markers
принимает набор назначений значений ( дескрипторов маркеров ) следующего формата:
markers= markerStyles | markerLocation1 | markerLocation2 |...
и т. д.
Набор маркерных стилей объявляется в начале объявления markers
и состоит из нуля или более дескрипторов стилей, разделенных символом вертикальной черты ( |
), за которыми следует набор из одного или нескольких мест, также разделенных символом вертикальной черты ( |
).
Поскольку и информация о стиле, и информация о местоположении разделяются символом вертикальной черты, информация о стиле должна появляться первой в любом дескрипторе маркера. Как только сервер Maps Static API обнаруживает местоположение в дескрипторе маркера, все остальные параметры маркера также считаются местоположениями.
Стили маркеров
Набор дескрипторов стилей маркеров представляет собой серию присвоений значений, разделенных символом вертикальной черты ( |
). Этот дескриптор стиля определяет визуальные атрибуты, которые будут использоваться при отображении маркеров в этом дескрипторе маркера. Эти дескрипторы стиля содержат следующие назначения ключей и значений:
-
size:
(необязательно) определяет размер маркера из набора{tiny, mid, small}
. Если параметрsize
не задан, маркер будет отображаться в размере по умолчанию (нормальном). color:
(необязательно) определяет 24-битный цвет (пример:color=0xFFFFCC
) или предопределенный цвет из набора{black, brown, green, purple, yellow, blue, gray, orange, red, white}
.Обратите внимание, что прозрачности (задаваемые с использованием 32-битных шестнадцатеричных значений цвета) не поддерживаются в маркерах, но поддерживаются для путей.
-
label :
(необязательно) указывает один буквенно-цифровой символ в верхнем регистре из набора {AZ, 0–9}. (Требование к использованию символов верхнего регистра является новым для этой версии API.) Обратите внимание, что маркеры по умолчанию иmid
размера — единственные маркеры, способные отображатьalphanumeric-character
параметры.tiny
иsmall
маркеры не способны отображать буквенно-цифровые символы.
Масштабирование маркера
Значение scale
умножается на размер изображения маркера, чтобы получить фактический выходной размер маркера в пикселях. Значение шкалы по умолчанию — 1; принятые значения: 1, 2 и 4.
Ограничение размера изображений в пикселях применяется после применения масштабирования. Например, если для маркера установлено scale:2
, то размер маркера может превышать максимальный размер в 4096 пикселей, если после масштабирования он уменьшится до менее 4096 пикселей. Используйте масштабирование маркеров в сочетании с масштабированием карты при отображении карт с более высоким разрешением.
Расположение маркеров
Каждый дескриптор маркера должен содержать набор из одного или нескольких мест, определяющих, где разместить маркер на карте. Эти местоположения могут быть указаны либо как значения широты/долготы, либо как адреса . Эти местоположения разделяются вертикальной чертой ( |
).
Примечание . Если вы решите указать местоположения маркеров с помощью метода, требующего геокодирования, например, удобочитаемых адресных строк или полилиний, запрос будет ограничен максимум 15 маркерами. Это ограничение применяется только к местоположениям маркеров, требующим геокодирования. Это не применяется к местоположениям маркеров, указанным в координатах широты и долготы.
Параметры местоположения определяют местоположение маркера на карте. Если местоположение находится за пределами карты, этот маркер не появится на построенном изображении при условии, что указаны параметры center
и zoom
. Однако если эти параметры не указаны, сервер Maps Static API автоматически создаст изображение, содержащее предоставленные маркеры. (См. Неявное позиционирование .)
Здесь показан образец объявления маркера. Обратите внимание, что мы определяем один набор стилей и три местоположения:
https://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&zoom=13&size=400x400& markers=color:blue%7Clabel:S%7C11211%7C11206%7C11222&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Чтобы определить маркеры с разными стилями, нам необходимо указать несколько параметров markers
. Этот набор параметров markers
определяет три маркера: один синий маркер с надписью «S» в точке 62.107733, -145.5419, один крошечный зеленый маркер в точке «Delta Junction, AK» и один желтый маркер среднего размера с надписью «C» в точке «Tok, AK». ". Эти маркеры показаны в этом примере:
https://maps.googleapis.com/maps/api/staticmap?center=63.259591,-144.667969&zoom=6&size=400x400 &markers=color:blue%7Clabel:S%7C62.107733,-145.541936&markers=size:tiny%7Ccolor:green%7CDelta+Junction,AK &markers=size:mid%7Ccolor:0xFFFF00%7Clabel:C%7CTok,AK"&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Пользовательские значки
Вместо использования значков маркеров Google вы можете использовать свои собственные значки. Пользовательские значки задаются с помощью дескриптора icon
в параметре markers
. Например:
markers=icon: URLofIcon | markerLocation
Укажите icon
, используя URL-адрес (который должен быть закодирован в URL-адресе ). Вы можете использовать URL-адреса, созданные службами сокращения URL-адресов, например https://goo.gl
. Большинство сервисов сокращения URL-адресов имеют преимущество автоматического кодирования URL-адресов.
Вы можете указать точку привязки для пользовательского значка. Точка привязки задает расположение значка относительно указанных местоположений markers
. По умолчанию опорной точкой пользовательского значка является центральная нижняя часть изображения значка. Вы можете указать другую точку привязки, используя дескриптор anchor
в сочетании со icon
. Задайте anchor
в виде точки X,Y значка (например, 10,5
) или в качестве предопределенного выравнивания, используя одно из следующих значений: top
, bottom
, left
, right
, center
, topleft
, topright
, bottomleft
или bottomright
. . Например:
markers=anchor:bottomright|icon: URLofIcon | markerLocation1 | markerLocation2
Вы можете использовать до пяти уникальных значков для каждого запроса. Это ограничение не означает, что вы ограничены только пятью отмеченными местами на карте. Каждый уникальный значок может использоваться с несколькими markers
на вашей карте.
Формат значка:
- Изображения значков могут быть в форматах PNG, JPEG или GIF, но рекомендуется PNG.
- Максимальный размер значков может достигать 4096 пикселей (64x64 для квадратных изображений).
Примеры пользовательских значков
В примере 1 создаются пользовательские значки и позиционируются значки с помощью привязок.
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=anchor:32,10%7Cicon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=anchor:topleft%7Cicon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=anchor:topright%7Cicon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY &signature=YOUR_SIGNATURE
В примере 2 создаются те же пользовательские значки, что и в примере 1, но не задаются положения значков с помощью привязок, а используется привязка по умолчанию в центре нижней части.
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=icon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=icon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=icon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Пути к статическим API карт
Параметр path
определяет набор из одного или нескольких местоположений, соединенных путем, для наложения на изображение карты. Параметр path
принимает набор назначений значений ( дескрипторов пути ) следующего формата:
path= pathStyles | pathLocation1 | pathLocation2 |...
и т. д.
Обратите внимание, что обе точки пути отделены друг от друга символом вертикальной черты ( |
). Поскольку и информация о стиле, и информация о точках разделяются символом вертикальной черты, информация о стиле должна появляться первой в любом дескрипторе пути. Как только сервер Maps Static API обнаруживает местоположение в дескрипторе пути, все остальные параметры пути также считаются местоположениями.
Стили пути
Набор дескрипторов стиля пути представляет собой серию присвоений значений, разделенных символом вертикальной черты ( |
). Этот дескриптор стиля определяет визуальные атрибуты, используемые при отображении пути. Эти дескрипторы стиля содержат следующие назначения ключей и значений:
-
weight:
(необязательно) определяет толщину пути в пикселях. Если параметрweight
не установлен, путь будет иметь толщину по умолчанию (5 пикселей). color:
(необязательно) определяет цвет в виде 24-битного (пример:color=0xFFFFCC
) или 32-битного шестнадцатеричного значения (пример:color=0xFFFFCCFF
) или из набора{black, brown, green, purple, yellow, blue, gray, orange, red, white}
.Если указано 32-битное шестнадцатеричное значение, последние два символа определяют 8-битное значение альфа-прозрачности. Это значение варьируется от
00
(полностью прозрачный) доFF
(полностью непрозрачный). Обратите внимание, что прозрачность поддерживается в путях, но не поддерживается для маркеров.-
fillcolor :
(необязательно) указывает, что путь отмечает многоугольную область, и указывает цвет заливки, который будет использоваться в качестве наложения внутри этой области. Следующий набор локаций не обязательно должен быть «замкнутым» циклом; Сервер Maps Static API автоматически соединит первую и последнюю точки. Однако обратите внимание, что любой штрих на внешней стороне закрашенной области не будет закрыт, если вы специально не укажете одно и то же начальное и конечное местоположение. -
geodesic :
(необязательно) указывает, что запрошенный путь следует интерпретировать как геодезическую линию, повторяющую кривизну Земли. Если установлено значение false, путь отображается как прямая линия в пространстве экрана. По умолчанию ложь.
Некоторые примеры определений путей:
- Тонкая синяя линия, непрозрачность 50 %:
path=color:0x0000ff80|weight:1
- Сплошная красная линия:
path=color:0xff0000ff|weight:5
- Сплошная толстая белая линия:
path=color:0xffffffff|weight:10
Эти стили пути являются необязательными. Если желательны атрибуты по умолчанию, вы можете пропустить определение атрибутов пути; в этом случае первый «аргумент» дескриптора пути будет состоять из первой объявленной точки (местоположения).
Точки пути
Чтобы нарисовать путь, параметру path
также необходимо передать две или более точки. Затем Maps Static API соединит путь вдоль этих точек в указанном порядке. Каждый pathPoint обозначается в pathDescriptor , разделенном символом |
(труба) характер.
В следующем примере определяется синий путь с непрозрачностью по умолчанию 50 % от Юнион-сквер, штат Нью-Йорк, до Таймс-сквер, штат Нью-Йорк.
Особенности параметра path
:
path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
В следующем примере определяется тот же путь, а не сплошная красная линия со 100% непрозрачностью:
Особенности этого параметра path
:
path=color:0xff0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
В следующем примере определяется полигональная область на Манхэттене, через которую в качестве местоположений проходит ряд пересечений:
Особенности этого параметра path
:
path=color:0x00000000|weight:5|fillcolor:0xFFFF0033|8th+Avenue+%26+34th+St,New+York,NY|\ 8th+Avenue+%26+42nd+St,New+York,NY|Park+Ave+%26+42nd+St,New+York,NY,NY|\ Park+Ave+%26+34th+St,New+York,NY,NY
Обратите внимание, что мы сделали сам путь невидимым, а непрозрачность многоугольной области — 15%.
Закодированные полилинии
Вместо серии местоположений вы можете объявить путь как закодированную ломаную линию , используя префикс enc:
в объявлении местоположения path
.
В следующем примере показан маршрут шоссе Аляски от Доусон-Крик, Британская Колумбия, до Дельта-Джанкшен, штат АК, с помощью закодированной полилинии:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=59.900503,-135.478011&zoom=4 &path=weight:3%7Ccolor:orange%7Cenc:_fisIp~u%7CU}%7Ca@pytA_~b@hhCyhS~hResU%7C%7Cx@oig@rwg@amUfbjA}f[roaAynd@%7CvXxiAt{ZwdUfbjAewYrqGchH~vXkqnAria@c_o@inc@k{g@i`]o%7CF}vXaj\h`]ovs@?yi_@rcAgtO%7Cj_AyaJren@nzQrst@zuYh`]v%7CGbldEuzd@%7C%7Cx@spD%7CtrAzwP%7Cd_@yiB~vXmlWhdPez\_{Km_`@~re@ew^rcAeu_@zhyByjPrst@ttGren@aeNhoFemKrvdAuvVidPwbVr~j@or@f_z@ftHr{ZlwBrvdAmtHrmT{rOt{Zz}E%7Cc%7C@o%7CLpn~AgfRpxqBfoVz_iAocAhrVjr@rh~@jzKhjp@``NrfQpcHrb^k%7CDh_z@nwB%7Ckb@a{R%7Cyh@uyZ%7CllByuZpzw@wbd@rh~@%7C%7CFhqs@teTztrAupHhyY}t]huf@e%7CFria@o}GfezAkdW%7C}[ocMt_Neq@ren@e~Ika@pgE%7Ci%7CAfiQ%7C`l@uoJrvdAgq@fppAsjGhg`@%7ChQpg{Ai_V%7C%7Cx@mkHhyYsdP%7CxeA~gF%7C}[mv`@t_NitSfjp@c}Mhg`@sbChyYq}e@rwg@atFff}@ghN~zKybk@fl}A}cPftcAite@tmT__Lha@u~DrfQi}MhkSqyWivIumCria@ciO_tHifm@fl}A{rc@fbjAqvg@rrqAcjCf%7Ci@mqJtb^s%7C@fbjA{wDfs`BmvEfqs@umWt_Nwn^pen@qiBr`xAcvMr{Zidg@dtjDkbM%7Cd_@ &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Как и в случае со стандартными путями, закодированные полилинейные пути также могут разграничивать полигональные области, если в параметр path
передается аргумент fillcolor
.
В следующем примере показана полигональная область для Бруклина, штат Нью-Йорк:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=40.653279,-73.959816&zoom=11 &path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:}zswFtikbMjJzZ%7CRdPfZ}DxWvBjWpF~IvJnEvBrMvIvUpGtQpFhOQdKpz@bIx{A%7CPfYlvApz@bl@tcAdTpGpVwQtX}i@%7CGen@lCeAda@bjA%60q@v}@rfAbjA%7CEwBpbAd_@he@hDbu@uIzWcWtZoTdImTdIwu@tDaOXw_@fc@st@~VgQ%7C[uPzNtA%60LlEvHiYyLs^nPhCpG}SzCNwHpz@cEvXg@bWdG%60]lL~MdTmEnCwJ[iJhOae@nCm[%60Aq]qE_pAaNiyBuDurAuB }}Ay%60@%7CEKv_@?%7C[qGji@lAhYyH%60@Xiw@tBerAs@q]jHohAYkSmW?aNoaAbR}LnPqNtMtIbRyRuDef@eT_z@mW_Nm%7CB~j@zC~hAyUyJ_U{Z??cPvg@}s@sHsc@_z@cj@kp@YePoNyYyb@_iAyb@gBw^bOokArcA}GwJuzBre@i\tf@sZnd@oElb@hStW{]vv@??kz@~vAcj@zKa%60Atf@uQj_Aee@pU_UrcA &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Обзорные экраны
Изображения могут указывать область просмотра , указав видимые местоположения с помощью visible
. visible
параметр указывает службе Maps Static API создать карту, на которой существующие местоположения остаются видимыми. (Этот параметр также можно комбинировать с существующими маркерами или путями для определения видимой области.) Определение области просмотра таким образом избавляет от необходимости указывать точный уровень масштабирования.
В следующем примере запрашивается карта с центром в Бостоне, Массачусетс, содержащая как Массачусетский технологический институт, так и Гарвардскую площадь в Кембридже, Массачусетс:
https://maps.googleapis.com/maps/api/staticmap?center=Boston,MA &visible=77+Massachusetts+Ave,Cambridge,MA%7CHarvard+Square,Cambridge,MA&size=512x512&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Неявное позиционирование карты
Обычно вам необходимо указать параметры URL-адреса center
и zoom
, чтобы определить местоположение и уровень масштабирования созданной карты. Однако если вы указываете markers
, path
или visible
параметры, вместо этого вы можете позволить Maps Static API неявно определять правильный центр и уровень масштабирования на основе оценки положения этих элементов.
При предоставлении двух или более элементов Maps Static API определит правильный центр и уровень масштабирования, предоставив большие поля для содержащихся элементов. В этом примере отображается карта, содержащая Сан-Франциско, Окленд и Сан-Хосе, Калифорния:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&maptype=roadmap\ &markers=size:mid%7Ccolor:red%7CSan+Francisco,CA%7COakland,CA%7CSan+Jose,CA&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Большие размеры изображений
Если вам нужны изображения размером более 640 x 640 пикселей (или 1280 x 1280 пикселей со значением масштаба 2), обратитесь в службу поддержки и предоставьте следующую информацию:
- Ваш вариант использования и почему вам нужны изображения большого размера.
- Рассматривали ли вы возможность использования других API платформы Google Maps (API JavaScript Maps, API Maps Embed, Maps SDK для Android или Maps SDK для iOS) и почему они не соответствуют вашим потребностям.
- Скриншоты, макеты или примеры того, как вы будете использовать изображения большого размера.
- Примерное ежемесячное использование изображений большого размера.
Мы рассмотрим ваш запрос на основе предоставленной вами информации и определим, соответствует ли ваш вариант использования Условиям использования платформы Google Карт .
Максимальный размер, который мы можем предоставить, составляет 2048 x 2048 пикселей.
Устранение неполадок и поддержка
Дополнительную информацию об использовании Maps Static API можно найти на странице поддержки .
Maps Static API может выдать ошибку или предупреждение, если что-то пойдет не так. Вам следует проверить наличие предупреждений, особенно если вы заметили, что на карте чего-то не хватает. Также рекомендуется проверять наличие предупреждений перед запуском нового приложения. Обратите внимание, что предупреждения могут быть не сразу заметны, поскольку они появляются в заголовке HTTP. Дополнительную информацию см. в руководстве по ошибкам и предупреждениям .