Начать

Вступление

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 )
Высокое разрешение
(имитация)

Для получения дополнительной информации о разработке для мобильных устройств и дисплеев с высоким разрешением рекомендуется прочитать следующее:

Форматы изображений

Изображения могут быть возвращены в нескольких распространенных форматах веб-графики: 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&center=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&center=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

Brooklyn Encoded Polyline с подписью

Окна просмотра

Изображения могут указать область просмотра , указав видимые местоположения с помощью параметра 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), обратитесь в службу поддержки и предоставьте следующую информацию:

  1. Ваш вариант использования и зачем вам нужны изображения большого размера.
  2. Рассматривали ли вы возможность использования других API платформы Google Maps (Maps JavaScript API, Maps Embed API, Maps SDK для Android или Maps SDK для iOS) и почему они не соответствуют вашим потребностям.
  3. Скриншоты, макеты или образцы того, как вы будете использовать изображения большого размера.
  4. Расчетное ежемесячное использование изображений большого размера.

Мы рассмотрим ваш запрос на основе предоставленной вами информации и определим, соответствует ли ваш вариант использования Условиям использования платформы Google Карт .

Максимальный размер, который мы можем предоставить, составляет 2048 x 2048 пикселей.

Устранение неполадок и поддержка

Дополнительную информацию об использовании Maps Static API см. на странице поддержки .

Maps Static API может выдавать ошибку или предупреждение, если что-то пойдет не так. Вы должны проверить наличие предупреждений, в частности, если вы заметили, что что-то отсутствует на карте. Также рекомендуется проверять наличие предупреждений перед запуском нового приложения. Обратите внимание, что предупреждения могут быть видны не сразу, поскольку они появляются в заголовке HTTP. Дополнительные сведения см. в руководстве по ошибкам и предупреждениям .