Загальні відомості


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.