Sputnik Maps JS API

Документация

Для чего нужен JS API карт

Для того, чтобы внедрить на свой сайт карту от "Спутника".

Что умеет API

Нынешняя версия 0.1 имеет статус бета-версии и может претерпеть значительные изменения в дальнейшем.
На данный момент можно сделать следующее:

Какие технологии и решения используются в API

API реализовано как плагин к библиотеке Leaflet.
Также опционально возможно использование ещё одного плагина к этой библиотеке - Leaflet.markercluster (подробнее).

Описание методов

Метод Для чего Прокси для Leaflet Наши доп. свойства Возвращает
L.sm().map(id, options?) Для отображения карты по переданным опциям L.map(id, options?)
themePath Путь до тем со стилями и картинками.
(подробнее)
new L.Map
L.sm().marker(latlng, options?) Создаёт маркер для добавления на карту.
Расширение нужно для того,
чтобы задавать урл до иконки через тип в параметрах.
L.marker(latlng, options?)
markerType Тип иконки (название файла картинки)
(default | alt1 | alt2 | alt3)
new L.Marker
L.sm().icon(options) Создаёт иконку маркера.
Расширение нужно для того,
чтобы задавать урл до иконки через тип в параметрах.
L.icon(options)
iconType Тип иконки (название файла картинки)
(default | alt1 | alt2 | alt3)
new L.Icon
L.sm().getLayer(options) Отдаёт слой, на который добавляются все маркеры.
Если ещё не существует, будет создан новый слой
в зависимости от переданных параметров.
Используется, в том числе, для добавления маркеров.
-
cluster Если true, то будет создан слой с кластеризацией
new L.FeatureGroup
или
new L.MarkerClusterGroup
L.sm().addMarker(map, latlng, options) Хелпер для добавления маркера на карту (пример).
Сводится к созданию маркера и добавлению его на карту сразу.
- Параметры (options) для создания маркера через L.sm().marker(latlng, options) new L.Marker
L.sm().addMarkers(map, markers, options) Хелпер для добавления массива маркеров на карту (пример).
Сводится к созданию в цикле маркеров из массива и добавлению их на карту.
- Аргумент markers может быть:
массивом
[
  [55.70, 37.6167],
  [55.80, 37.6167]
]
GeoJSON FeatureCollection
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [37.5167, 55.85]
      },
      "properties": {
        "title": "m1"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [37.7167, 55.85]
      },
      "properties": {
        "title": "m2"
      }
    }
  ]
}
GeoJSON MultiPoint
{
  "type": "Feature",
  "geometry": {
    "type": "MultiPoint",
    "coordinates": [
      [37.6167, 55.75],
      [37.6167, 55.85]
    ]
  }
}
Параметры (options) для создания маркера через L.sm().marker(latlng, options).
new L.FeatureGroup
или
new L.MarkerClusterGroup
L.sm().setMarker(map, latlng, options) Полный аналог L.sm().addMarker(map, latlng, options), но перед добавлением карта очищается от предыдущих маркеров - см. L.sm().addMarker(map, latlng, options) new L.FeatureGroup
или
new L.MarkerClusterGroup
L.sm().updateMarkersFromServer(map, requestParams, markerOptions) Хелпер для динамического обновления маркеров данными с сервера при движении карты (подробнее) - Аргумент requestParams:
url string url до сервера с данными
method string Метод, которым будет отправлен ajax-запрос (GET/POST)
params object GET/POST-параметры запроса.
При этом будут произведены следующие замены:
SW_LAT широта левого нижнего края карты
SW_LNG долгота левого нижнего края карты
NE_LAT широта правого верхнего края карты
NE_LNG долгота правого верхнего края карты
NW_LAT широта левого верхнего края карты
NW_LNG долгота левого верхнего края карты
SE_LAT широта правого нижнего края карты
SE_LNG широта правого нижнего края карты
C_LAT широта центра карты
C_LNG долгота центра карты
dataFormatter function Функция для приведения серверных данных к GeoJSON
Вызывается при получении ответа сервера
searchOnStart boolean Отправлять запрос на сервер при начальной загрузке карты
Параметры (options) для создания маркера через L.sm().marker(latlng, options).
new L.FeatureGroup
или
new L.MarkerClusterGroup