reference
Текущая версия API: 1.0
.
Точка входа: static.maps.2gis.com
.
Все параметры передаются через query
. Общий вид запроса:
GET /1.0?s={size}&c={center}&z={zoom}&g={geojson}&pt={points}&ls={linestrings}&pn={polygons}
В ответ возвращается картинка в формате PNG или ошибка с описанием проблемы.
Общая информация
В документации в фигурных скобках указаны подставляемые значения, в квадратных - опциональные.
Координаты
Координаты широты и долготы точек указываются в градусах в формате ISO 6709.
Знак плюс +
для положительных координат можно не указывать. Если вы используете плюс +
, закодируйте его для передачи в URL: %2B
.
Цвета
Цвета линий и многоугольников задаются в шестнадцатеричном формате RRGGBB[AA], где последовательно указаны компоненты красного, зелёного, синего цвета и опционально прозрачность.
Префиксы #
или 0x
для цветов можно не указывать. Если вы используете префикс #
, закодируй те его для передачи в URL: %23
.
Карта
Чтобы отобразить простую карту без дополнительных объектов, укажите её размер, центр и масштаб.
Если на карте будут дополнительные объекты, то можно не указывать центр и масштаб, карта подстроится автоматически.
Размер
Обязательный параметр.
s={width}x{height}[@{scale}]
Задаёт размер карты в пикселях и модификатор размера для различных экранов.
Модификатор @2x
включает HD режим для Retina и других HiDPI-экранов. В этом случае фактический размер готовой карты будет в два раза больше запрашиваемого.
Значения:
width
- ширина карты, от 120 до 1280 пикселей;height
- высота карты, от 90 до 1280 пикселей;scale
- модификатор размера (1x
- по умолчанию;2x
- HiDPI).
Примеры:
-
SD-карта в альбомном формате:
s=600x400
-
Эквивалент предыдущего примера:
s=600x400@1x
-
HD-карта в портретном формате:
s=200x300@2x
Центр
Обязательный параметр, если на карте нет дополнительных объектов.
c={lat},{lon}
Задаёт координаты центра карты.
Значения:
lat
- широта в градусах;lon
- долгота в градусах.
Примеры:
-
Координаты Третьяковской галереи:
c=55.7414,37.6209
Масштаб
Обязательный параметр, если на карте нет дополнительных объектов.
z={zoom}
Задаёт масштаб карты.
Значения:
zoom
- масштаб карты, от 1 до 18.
Примеры:
-
Двойное увеличение:
z=2
-
Десятикратное увеличение:
z=10
Объекты
На карту можно добавить маркеры, линии и многоугольники в различных стилях. Формат описания во многом схож с GeoJSON (RFC 7946).
Маркеры (Point & MultiPoint)
На карту можно добавить маркеры в виде кругов, пинов или с произвольным изображением (кастомные). Для кругов и пинов можно указать цвет и размер, добавить нумерацию.
Обычный маркер
pt={lat},{lon}[~k:{kind}][~c:{color}][~s:{size}]
Параметр задаёт координаты, форму, цвет и размер маркера.
Значения:
lat
- широта в градусах;lon
- долгота в градусах;kind
- форма маркера:p
- пин (по умолчанию),c
- круг.
color
- цвет маркера:be
- синий (по умолчанию),rd
- красный,oe
- оранжевый,yw
- жёлтый,gn
- зелёный,pe
- фиолетовый,pk
- розовый,gy
- серый,bk
- чёрный.
size
- размер маркера:s
маленький (по умолчанию),l
большой.
Примеры:
-
Маленький синий пин (по умолчанию):
pt=55.7368,37.6326
-
Маленький синий круг:
pt=55.7368,37.6326~k:c
-
Маленький зелёный пин:
pt=55.7368,37.6326~c:gn
-
Большой синий пин:
pt=55.7368,37.6326~s:l
-
Большой зелёный круг:
pt=55.7368,37.6326~k:c~c:gn~s:l
Нумерованный маркер
pt={lat},{lon}~n:{number}[~k:{kind}]
Параметр задаёт координаты, номер и форму нумерованного маркера.
Значения:
lat
- широта в градусах;lon
- долгота в градусах;number
- номер маркера, от 1 до 99;kind
- форма маркера:p
- пин (по умолчанию),c
- круг.
Примеры:
-
Пин (по умолчанию) с номером 1:
pt=55.7368,37.6326~n:1
-
Круг с номером 2:
pt=55.7368,37.6326~n:2~k:c
Кастомный маркер (URL)
pt={lat},{lon}~u:{url}[~a:{x},{y}]
Параметр задаёт координаты, адрес изображения и точку привязки для кастомного маркера.
Таймаут на скачивание изображения для маркера - 2 секунды. Максимальный размер изображения - 16 КБ (16 384 по заголовку ответа Content-Length). Полученное изображение кешируется на 2 часа.
В режиме HD кастомные маркеры не масштабируются автоматически. Необходимо самостоятельно контролировать соответствие размера изображения режиму карты.
Значения:
lat
- широта в градусах;lon
- долгота в градусах;url
- адрес изображения, закодированный для передачи в URL;x
- точка привязки по горизонтали от левого верхнего угла:- от
0
до1
- относительное значение от ширины, по умолчанию0.5
(центр); - больше
1
- абсолютное значение в пикселях.
- от
y
- точка привязки по вертикали от левого верхнего угла:- от
0
до1
- относительное значение от высоты, по умолчанию0.5
(центр); - больше
1
- абсолютное значение в пикселях.
- от
Примеры:
-
Кастомный маркер с привязкой по центру:
pt=55.7368,37.6326~u:http://example.com/image.png
-
Кастомный маркер с привязкой по середине нижнего края (как ножки у пинов):
pt=55.7368,37.6326~u:http://example.com/image.png~a:0.5,1
-
Кастомный маркер с привязкой в точке
12,16
пикселей:pt=55.7368,37.6326~u:http://example.com/image.png~a:12,16
Касто мный маркер (Base64)
pt={lat},{lon}~b:{base64}[~a:{x},{y}]
Параметр задаёт координаты, изображение в формате Base64 и точку привязки для кастомного маркера.
В режиме HD кастомные маркеры не масштабируются автоматически. Необходимо самостоятельно контролировать соответствие размера изображения режиму карты.
Значения:
lat
- широта в градусах;lon
- долгота в градусах;base64
- изображение в кодировке Base64, дополнительно закодированное для передачи в URL;x
- точка привязки по горизонтали от левого верхнего угла:- от
0
до1
- относительное значение от ширины, по умолчанию0.5
(центр); - больше
1
- абсолютное значение в пикселях.
- от
y
- точка привязки по вертикали от левого верхнего угла:- от
0
до1
- относительное значение от высоты, по умолчанию0.5
(центр); - больше
1
- абсолютное значение в пикселях.
- от
Примеры:
-
Кастомный маркер с привязкой по центру:
pt=55.7368,37.6326~b:base64string
-
Кастомный маркер с привязкой по середине нижнего края (как ножки у пинов):
pt=55.7368,37.6326~b:base64string~a:0.5,1
-
Кастомный маркер с привязкой в точке
12,16
пикселей:pt=55.7368,37.6326~b:base64string~a:12,16
Множество маркеров
pt={lat1},{lon1}~{lat2},{lon2}[~{lat3},{lon3}...]
Настройки стиля можно применить сразу к нескольким маркерам.
Примеры:
-
Три маленьких синих пина (по умолчанию):
pt=55.7368,37.6326~55.7468,37.6226~55.7568,37.6126
-
Эквивалент предыдущего примера:
pt=55.7368,37.6326&pt=55.7468,37.6226&pt=55.7568,37.6126
-
Два больших зелёных круга:
pt=55.7368,37.6326~55.7468,37.6226~k:c~c:gn~s:l
-
Два кастомных маркера (URL):
pt=55.7368,37.6326~55.7468,37.6226~u:http%3A%2F%2Fexample.com%2Fimage.png
-
Два кастомных маркера (Base64):
pt=55.7368,37.6326~55.7468,37.6226~b:base64string
Линии (LineString & MultiLineString)
На карту можно добавить ломаные линии с заданными цветом и толщиной.
Линия
ls={lat1},{lon1},{lat2},{lon2}...[~w:{weight}][~c:{color}]
Параметр задаёт координаты вершин ломаной линии, её толщину и цвет.
Значения:
lat
- широта в градусах;lon
- долгота в градусах;weight
- толщина линии в пикселях;color
- цвет линии.
Примеры:
-
Синяя линия (по умолчанию):
ls=55.736,37.632,55.746,37.632
-
Линия толщиной в 7 пикселей:
ls=55.736,37.632,55.746,37.632~w:7
-
Красная линия:
ls=55.736,37.632,55.746,37.632~c:ff0000
-
Зелёная линия толщиной в 6 пикселей:
ls=55.736,37.632,55.746,37.632~w:6~c:00ff00
Множество линий
ls={lat1},{lon1},{lat2},{lon2}...~{lat1},{lon1},{lat2},{lon2}...[~{lat1},{lon1},{lat2},{lon2}...]
Настройки стиля можно применить сразу к нескольким линиям.
Примеры:
-
Две синих линии (по умолчанию):
ls=55.736,37.632,55.746,37.632~55.836,37.632,55.846,37.632
-
Эквивалент предыдущего примера:
ls=55.736,37.632,55.746,37.632&ls=55.836,37.632,55.846,37.632
-
Две зелёных линии толщиной в 6 пикселей:
ls=55.736,37.632,55.746,37.632~55.836,37.632,55.846,37.632~w:6~c:00ff00
Многоугольники (Polygon & MultiPolygon)
На карту можно добавить многоугольники (без вырезов) с заданными цветом и толщиной контура, а также цветом заливки.
Многоугольник
pn={lat1},{lon1},{lat2},{lon2},{lat3},{lon3}...[~w:{weight}][~c:{color}][~f:{fill}]
Параметр задаёт координаты вершин многоугольника, толщину и цвет контура, цвет заливки.
Значения:
lat
- широта в градусах;lon
- долгота в градусах;weight
- толщина контура в пикселях;color
- цвет контура;fill
- цвет заливки.
Примеры:
-
Синий многоугольник с полупрозрачной заливкой (по умолчанию):
pn=55.736,37.632,55.746,37.632,55.746,37.642
-
Многоугольник с толщиной контура в 7 пикселей:
pn=55.736,37.632,55.746,37.632,55.746,37.642~w:7
-
Многоугольник с красным контуром:
pn=55.736,37.632,55.746,37.632,55.746,37.642~c:ff0000