Общие сведения


GISFile JavaScript API представляет собой набор JavaScript-компонентов, предназначенных для отображения интерактивных карт на веб-страницах и в приложениях. API компоненты реализованы в виде классов, функций, статических объектов и интерфейсов. JavaScript API доступны для использования сразу после их загрузки.

Подключение API

Подключение API производится с помощью загрузки внешнего JavaScript-файла, содержащего компоненты API. Загрузка JavaScript-файла и создание контейнера для отображения карты могут быть выполнены автоматически, если код JavaScript вставить в тело документа. ID контейнера создаётся автоматически, если он не указан в строке src.

<body>
    ...
    <script src="http://gisfile.com/api/1.0/?lat=50.450&lon=30.524&z=11&width=100%&height=300" type="text/javascript" charset="utf-8"></script>
    ...
</body>

При наличии в документе подготовленного контейнера загрузку JavaScript-файла можно поместить в блок head документа Html.

<head>
    ...
    <script src="http://gisfile.com/api/1.0/?icon=gisfile&name=Киев&note=Столица Украины&lat=50.450&lon=30.524&z=16&id=map" type="text/javascript" charset="utf-8"></script>
    ...
</head>
<body>
    ...
    <div id="map" style="width: 100%; height: 300px"></div>
    ...
</body>

Карта

Основным компонентом API является карта, которая может быть размещена в любом HTML-элементе и имеет прямоугольную форму. Параметрами карты являются область показа, вид карты и отображения. При создании карты можно указать параметры отображения (центр карты и масштаб). Если они не указаны отображение выполняется по объектам карты. Когда JavaScript расположен в теле документа, необходимо указать ширину width и высоту height, для автоматически создаваемого контейнера карты.

<script src="http://gisfile.com/api/1.0/?map=usa&lat=38.54817&lon=-97.47070&z=4&width=100%&height=300" type="text/javascript" charset="utf-8"></script>

API предоставляет возможность отображения трёх видов карт: метка (icon), слой (layer) и проект (map). Слой и проект имеют подтип отображения (type): объекты (Overlay) и тайлы (TileLayer и TileImage). Контейнер карты может содержать один или несколько наложенных друг на друга слоев. Существует возможность комбинированного отображения собственных и подключенных слоев или проекта карты. Более сложные комбинации отображения реализуются с помощью GISFile API, JavaScript и библиотеки LeafLet. Если при создании карты тип не указан, то отображается карта с базовым слоем.

<script src="http://gisfile.com/api/1.0/?lat=48.54571&lon=31.20117&z=5&width=100%&height=300" type="text/javascript" charset="utf-8"></script>

Проект карты описывает параметры отображения карты и слоёв. Для отображения проекта карты необходимо обязательно указать параметр map=<Имя>, где <Имя> - наименование проекта карты. При отображении тайлов проекта карты, необходимо указать параметр tile.

Карта, по умолчанию, реагирует на действия, производимые пользователем. Например, на перемещение курсора мыши в области показа, скроллинге, при нажатой левой кнопке на объекте отображает информационное окно.

Слой

Отображение одного слоя на карте чаще всего используется для отображения набора меток (точек). Формат иконки для меток можно задать с помощью параметра icon=<Имя>, <Имя> - наименование иконки (примеры: icon-red, icon-red.png или http://gisfile.com/css/icons/icon-red.png)

<script src="http://gisfile.com/api/1.0/?layer=shelter&icon=icon-red&lat=48.52934&lon=32.24693&z=11&width=100%&height=500" type="text/javascript" charset="utf-8"></script>

Для использования алгоритма MarkerCluster группировки меток, необходимо добавить параметр marker.

<script src="http://gisfile.com/api/1.0/?layer=spcities&marker&width=100%&height=500" type="text/javascript" charset="utf-8"></script>

Объекты

На карте может быть размещено произвольное количество слоёв с геообъектами и/или просто геообъектов описывающих географические объекты. Геообъект характеризуется наличием геометрии, которая определяется типом (точка, линия, полигон и другие), координатами географического объекта и его атрибутами (параметрами).

Для отображения метки можно воспользоваться параметром icon=<Имя>, <Имя> - наименование иконки (примеры: icon-red, icon-red.png или http://gisfile.com/css/icons/icon-red.png). По умолчанию, если наименование иконки не указано, отображается стандартная иконка.

<script src="http://gisfile.com/api/1.0/?icon=icon-olive&lat=50.450&lon=30.524&z=10&width=100%&height=500" type="text/javascript" charset="utf-8"></script>

Координаты

Базовой системой координат JavaScript API для отображения базовых слоёв и тайлов является глобальная пиксельная система координат. В этой системе каждая точка реального мира проецируется на бесконечную пиксельную плоскость. На начальном (нулевом) масштабе карта мира попадает в область 256х256 пикселей. При увеличении уровня масштабирования на 1 размер "карта мира" удваивается.

Любая координатная система реализуется с помощью проекции. Проекция устанавливает соответствие между географическими координатами точки и глобальными пиксельными координатами для каждого коэффициента масштабирования. Для географических координат, по умолчанию, API использует эллиптическую проекцию WGS-84.

Формат загружаемых координат соответствует спецификации GeoJSON. Подробная информация о компонентах открытой JavaScript библиотеки Leaflet.