Вступление
Maps Static API возвращает изображение (в формате GIF, PNG или JPEG) в ответ на HTTP-запрос через URL-адрес. Для каждого запроса вы можете указать местоположение карты, размер изображения, уровень масштабирования, тип карты и размещение дополнительных маркеров в местах на карте. Вы можете дополнительно пометить свои маркеры буквенно-цифровыми символами.
Изображение Maps Static API встраивается в атрибут src
тега <img>
или его эквивалент в других языках программирования.
В этом документе описывается требуемый формат URL-адресов статического API Карт и доступные параметры. В нем также указаны некоторые советы и рекомендации по указанию URL-адресов.
Прежде чем вы начнете
Этот документ предназначен для разработчиков веб-сайтов и мобильных устройств, которые хотят включить изображения Maps Static API на веб-страницу или в мобильное приложение. Он содержит введение в использование API и справочный материал по доступным параметрам.
Прежде чем приступить к разработке с помощью Maps Static API, ознакомьтесь с требованиями к аутентификации (вам нужен ключ API), а также информацией об использовании API и выставлении счетов (вам необходимо включить выставление счетов в своем проекте).
URL-параметры
URL-адрес статического 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
. Дополнительные сведения см. в разделе Типы карт Maps Static 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 со статическим API Карт . -
signature
( рекомендуется ) — это цифровая подпись, используемая для проверки того, что любой сайт, генерирующий запросы с использованием вашего ключа API, имеет на это право. Запросы без цифровой подписи могут завершиться ошибкой. Дополнительные сведения см. в разделе Использование цифровой подписи .
Ограничение размера URL
Длина URL статического API Карт ограничена 8192 символами. На практике вам, вероятно, не понадобятся более длинные 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 , поэтому такие адреса, как "City Hall, New York, NY", должны быть преобразованы, например, в "City+Hall,New+York,NY".
Обратите внимание, что адреса могут отражать либо точное местоположение, например адреса улиц, полилинии, такие как именованные маршруты, либо полигональные области, такие как города, страны или национальные парки. Для полилинейных и полигональных результатов сервер 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 Maps имеют целочисленный «уровень масштабирования», который определяет разрешение текущего вида. В представлении 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 вернет ту же область покрытия карты, что и запрос без указания масштаба, но с вдвое большим количеством пикселей в каждом измерении. Сюда входят дороги и метки, чтобы их можно было прочитать на экранах с высоким разрешением и небольшим размером, а также при масштабировании браузером.
150x150 | 150x150&масштаб=2 |
---|---|
![]() | ![]() |
Такое изображение также будет хорошо работать в настольных браузерах, если его вставить в тег img
или div
с высотой и шириной, заданными с помощью CSS. Браузер уменьшит изображение до нужного размера без потери качества.
В этой таблице показаны три разных запроса изображений.
- Первый предназначен для изображения размером 100x100 без указания значения масштаба. Он правильно отображается на рабочем столе, но слишком мал для чтения на мобильном устройстве.
- Второй удваивает размер карты. На рабочем столе CSS умещает его в указанный элемент
img
размером 100x100, но при уменьшении изображения дороги и метки становятся слишком маленькими. На мобильном устройстве изображение нормального размера, но опять же дороги и надписи неразборчивы. - Третий запрос — карта размером 100 x 100 с
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 |...
и т. д.
Набор markerStyles объявляется в начале объявления 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
Вы можете использовать до пяти уникальных пользовательских значков на запрос. Это ограничение не означает, что вы ограничены только 5 отмеченными местами на карте. Каждая уникальная иконка может использоваться с более чем одним местоположением 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 затем соединит путь вдоль этих точек в указанном порядке. Каждая точка пути обозначается в дескрипторе пути , разделенном символом |
(труба) характер.
В следующем примере определяется синий путь с непрозрачностью по умолчанию 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
.
В следующем примере показан маршрут шоссе на Аляску от Доусон-Крик, Британская Колумбия, до Дельта-Джанкшен, AK, с закодированной ломаной линией:
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 (Maps JavaScript API, Maps Embed API, Maps SDK для Android или Maps SDK для iOS) и почему они не соответствуют вашим потребностям.
- Скриншоты, макеты или образцы того, как вы будете использовать изображения большого размера.
- Расчетное ежемесячное использование изображений большого размера.
Мы рассмотрим ваш запрос на основе предоставленной вами информации и определим, соответствует ли ваш вариант использования Условиям использования платформы Google Карт .
Максимальный размер, который мы можем предоставить, составляет 2048 x 2048 пикселей.
Устранение неполадок и поддержка
Дополнительную информацию об использовании Maps Static API см. на странице поддержки .
Maps Static API может выдавать ошибку или предупреждение, если что-то пойдет не так. Вы должны проверить наличие предупреждений, в частности, если вы заметили, что что-то отсутствует на карте. Также рекомендуется проверять наличие предупреждений перед запуском нового приложения. Обратите внимание, что предупреждения могут быть видны не сразу, поскольку они появляются в заголовке HTTP. Дополнительные сведения см. в руководстве по ошибкам и предупреждениям .