Archives by date

You are browsing the site archives by date.

mapSurfer — rest — service

WMS

GET /wms

Получение тайла слоя

Структура запроса:


GET /service/wms?service=WMS&request=GetMap&version=1.1.1&layers=kziokzn:vamin_kioski_p_vw&
        styles=vamin_kioski_p_vw_style_21_03_2011_19_20_16&format=image/png&transparent=true&height=256&
        width=256&srs=EPSG:900913&bbox=5283327.395071382,7514065.628545966,5322463.153553393,7553201.387027976&
        token=bw3ty3h46yth

service: сервис запроса WMS

request: название запроса GetMap

version: версия 1.1.1

layers: английское название слоя или слоев через запятую

styles: название стиля или стилей через запятую

format: формат, в котором вернется тайл

transparent: есть ли прозрачность

height: высота тайла

width: ширина тайла

srs: код проекции

bbox: область запроса

cql_filter: строка CQL фильтра

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: зависит от параметра format

Статус: 404 — ни один слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 403 — нет доступа к слою

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /wms

Запрос легенды слоя

Структура запроса:


GET /service/wms?request=GetLegendGraphic&style=vamin_kioski_p_vw_style_21_03_2011_19_20_16&
        layer=kziokzn:vamin_kioski_p_vw&format=image/png&token=bw3ty3h46yth

request: название запроса GetLegendGraphic

layer: английское название слоя

style: название стиля слоя

format: формат, в котором вернется легенда

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: зависит от параметра format

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 403 — нет доступа к слою

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /wfs

Получение WFS слоя

Структура запроса:


GET /service/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=DEMO:kfu_building&outputFormat=json&
        bbox=40.14404296875,52.905589081407825,61.23779296875,57.630699148918424&token=bw3ty3h46yth

service: сервис запроса WFS

request: название запроса GetFeature

version: версия 1.0.0

typeName: английское название слоя

outputFormat: формат возвращаемых данных

bbox: область запроса слоя

srs: код проекции, по умолчанию EPSG:4326

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: зависит от параметра outputFormat

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 403 — нет доступа к слою

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /service/styles/{layerId}/{styleName}.sld

Запрос sld-файла стиля

Структура запроса:


GET /service/styles/367/set_wifi_iconstyle_02_10_2012_14_00_01.sld?token=bw3ty3h46yth

layerId: id слоя

styleName: название стиля

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: text/xml

Статус: 404 — слой не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 403 — нет доступа к слою

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

mapSurfer — rest — auth

POST /auth/token

Пример запроса

{
    "login": "testlogin",
    "password": "12345"
}

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
{
    "token": "ethryhetyjtyj",
    "refreshToken": "ethryhetyjtyj",
    "ttl": 3600
}
}


    // ключ доступа, строка
    // ключ для обновления ключа доступа, строка
    // время жизни ключа доступа в секундах, целое число

Статус: 401 — логин или пароль переданы неверно

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /auth/token/refresh

Структура запроса:


GET /auth/token/refresh?refreshToken=738975947453
}

refreshToken: ключ для обновления ключа доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
    "token": "ethryhetyц4564",
    "refreshToken": "yrjryukryukryu",
    "ttl": 3600
}
}

// новый ключ доступа, строка
// новый ключ для обновления ключа доступа, строка
// время жизни ключа доступа в секундах, целое число

Статус: 400 — не передан параметр refreshToken

Формат: text/plain

Содержит описание ошибки

Статус: 404 — параметр refreshToken не найден в системе

Формат: text/plain

Содержит описание ошибки

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /auth

Структура запроса:


GET /auth?token=bw3ty3h46yth

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
    "authenticated": true,
    "user": {
        "id": 11,
        "name": "Пользователь",
        "right": {
            "id": 1,
            "name": "Права",
            "admin": false,
            "mapExtent": {
                "id": 2,
                "name": "Republic of Tatarstan",
                "extent": {
                    "minX": 46.09270788877181,
                    "minY": 53.99190870342375,
                    "maxX": 55.299713101706935,
                    "maxY": 56.68378708907719,
                    "projection": "EPSG:4326"
                }
            }
        }
    }
}
}

// true, если пользователь авторизован, иначе false, булевое поле
// данные о пользователе, если он авторизован, объект
// id пользователя, целое число
// имя пользователя, строка
// данные о группе прав, объект
// id группы прав, целое число
// название группы прав, строка
// имеются ли права админа, булевое поле
// данные о границе карты для данной группы прав, объект
// id границы карты, целое число
// название границы карты, строка
// область видимости карты, объект
// минимальный x, число с плавающей точкой
// минимальный y, число с плавающей точкой
// максимальный x, число с плавающей точкой
// максимальный y, число с плавающей точкой
// проекция

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

GET /logout

Структура запроса:


GET /logout?token=bw3ty3h46yth

token: ключ доступа

Ответ:

Статус: 200 — успешное выполнение

Формат: json

{
    "status": "ok"
}

Статус: 500 — ошибка на сервере

Формат: text/plain

Содержит описание ошибки

mapSurfer — API — ex

Для начала работы с API Вам необходимо в своем проекте сделать несколько подключений:


<script src="@utils.Config.baseHost/public/javascripts/libs/jquery/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="@utils.Config.baseHost/public/javascripts/libs/jquery/jquery-ui-1.9.2.custom.min.js" type="text/javascript"></script>

Кроме подключения jquery и jquery-ui, необходимо подключить сам API.


<script src="@utils.Config.baseHost/public/geoportal/geoportal-api.min.js" type="text/javascript"></script>

Для добавления карты у Вас должен быть DOM элемент, предположим, что он имеет id=”map”, тогда создание карты будет выглядеть следующим образом:


var map = new GeoPortal.Map(“map”);

Далее на эту карту наверняка понадобится добавить несколько слоев.
Предположим, что мы знаем id слоя, который нам нужно добавить на карту (пусть id буде равен 204), найдем этот слой и добавим на карту.


function exampleForLayer(layer){
    map.addLayer(layer);	//обавляем слой на карту
    layer.setOpasity(0.6);	//добавляем слою прозрачность
}

GeoPortal.Layer.findLayerById(
    204,
    exampleForLayer,
    function(status, error){
        console.log(error);
    }
);

Динамические объекты нужны для выделения областей, добавления на карту маркеров и т.д.
Примеры использования:


    var popup = new GeoPortal.Popup({closeButton: true, minWidth: 100});
    popup.setLatLng(new GeoPortal.LatLng(55,49));
    map.addLayer(popup)

    var marker = new GeoPortal.Marker(new GeoPortal.LatLng(55,49))
    map.addMarker(marker);

    var polyline = new GeoPortal.Vector.PolyLine([new GeoPortal.LatLng(55,49), new GeoPortal.LatLng(55.1, 49.1)]);
    map.addLayer(polyline);

API

mapSurfer GS