Документация-вспомогательные

mapSurfer — API — vector

PolyLine

Используется для создания линейного объекта на карте


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

Конструктор

new GeoPortal.Vector.PolyLine(<Array GeoPortal.LatLng> latlngs, <PolyLine options> options)

Свойства

Свойство Тип По умолчанию Описание
stroke Boolean true Отображать линию
color String ‘#0033ff’ Цвет линии
weight number 5 Толщина линии
opacity Number 0.5 Прозрачность линии
fill Boolean false Использовать заливку
fillColor String ‘#0033ff’ Цвет заливки
fillOpacity Number 0.2 Прозрачность заливки
clickable Boolean true Если установлено false, то при нажатии на объект событие будет игнорироваться
editable Boolean false Если установлено true, то объект создастся в редактируемом виде

Методы

Метод Возвращает Описание
latLngs() Array GeoPortal.LatLng Возвращает координаты объекта
setLatLngs(<Array GeoPortal.LatLng> latlngs) this Устанавливает координаты объекта
addLatLng(<GeoPortal.LatLng> latlng) this Добавляет координату к объекту
bounds() GeoPortal.LatLngBounds Рассчитывает границы объекта
redraw() void Перерисовать объект

События

Событие Данные Описание
add Event Происходит при добавлении объекта на карту
click MouseEvent Происходит при клике на объект
dblclick MouseEvent Происходит при двойном клике на объект
mousedown MouseEvent Происходит при нажатии клавишей мыши при наведенном указателе
mouseover MouseEvent Происходит при наведении курсора мыши на объект
mouseout MouseEvent Происходит когда курсор мыши покидает зону объекта на карте

Polygon

Используется для создания полигонального объекта на карте. Наследуется от GeoPortal.Vector.PolyLine


var polygon = new GeoPortal.Vector.Polygon(
    [
        new GeoPortal.LatLng(55,49),
        new GeoPortal.LatLng(55.1, 49.1),
        new GeoPortal.LatLng(55.2, 49.2),
        new GeoPortal.LatLng(55,49)
    ]);
map.addLayer(polygon);

Конструктор

new GeoPortal.Vector.Polygon(<Array GeoPortal.LatLng> latlngs, <PolyLine options> options)

Rectangle

Используется для создания прямоугольного объекта на карте. Наследуется от GeoPortal.Vector.Polygon


var rect = new GeoPortal.Vector.Rectangle(
    new GeoPortal.LatLngBounds (
        new GeoPortal.LatLng(55,49),
        new GeoPortal.LatLng(55.2, 49.2)
    ));
map.addLayer(rect);

Конструктор

new GeoPortal.Vector.Rectangle(<GeoPortal.LatLngBounds> latlngBounds, <PolyLine options> options)

Методы

Метод Возвращает Описание
setBounds(<GeoPortal.LatLngBounds> bounds) void Установка новых границ для объекта

mapSurfer — API — dynamic

Popup

Используется для создания отображения окна с содержимым при нажатие на карту или объект



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

maker.bindPoup("Это Popup на карте", {closeButton: true});

Конструктор

new GeoPortal.Popup(<Popup options> options,<object> source)
Создает новый объект Popup для добавления его на карту или привязке к векторному объекту

Свойства

Свойство Тип По умолчанию Описание
minWidth Number.Icon 300 Класс для отображения маркера на карте
maxWidth Number 300 Максимальная длина Popup окна
autoPan Boolean true Автоматически передвигает карту для того, чтобы окно уместилось на экране
closeButton Boolean true Отображать кнопку закрытия окна
offset GeoPortal.Point GeoPortal.Point(0, 2) Смещение окна от точки на карте в пикселях
autoPanPadding GeoPortal.Point GeoPortal.Point(5, 5) Расстояние от окна до границ карты при автоматическом сдвиге

Методы

Метод Возвращает Описание
setLatLng(<GeoPortal.LatLng> latlng) this Устанавливает координаты Popup окна
setContent(<String> htmlContent) this Устанавливает содержимое окна
update() this Обновляет и перерисовывает окно

Marker

Используется для отображения точечного объекта на карте


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

Конструктор

new GeoPortal.Marker(<GeoPortal.LatLng> latlng, <Marker options> options)
Создает новый точечный объект

Свойства

Свойство Тип По умолчанию Описание
icon GeoPortal.Icon new GeoPortal.Icon() Класс для отображения маркера на карте
title String » Заголовок устаналиваемый html элементу маркера
clickable Boolean true Если установлено false, то при нажатии на объект событие будет игнорироваться
draggable Boolean false Если установлено true, то при нажатии,удерживании и перемещении курсора объект будет передвигаться на карте
zIndexOffset Number 0 По умолчанию z-index устанавливается относительно широты (latitude), вы можете изменить с помощью этого параметра

Методы

Метод Возвращает Описание
latLng GeoPortal.LatLng Возвращает координаты объекта
setLatLng(<GeoPortal.LatLng> latlng) void Устанавливает новые координаты объекта
icon() GeoPortal.Icon Возвращает объект отображения
setIcon(<GeoPortal.Icon> icon) void Устанавливает новый класс для отображения маркера на карте
setOpacity(<Number> opacity) void Устанавливает величину прозрачности объекта
openPopup() this Открывает Popup окно
bindPopup(<String> content, <Popup options> options) this Создать новое Popup окно к объекту
unbindPopup() this Открепить Popup от объекат
hasPopup() Boolean Позволяет узнать есть ли прикрепленный Popup к объекту
popup() GeoPortal.Popup Возвращает прикрепленный Popup к объекту

События

Событие Данные Описание
add Event Происходит при добавлении объекта на карту
click MouseEvent Происходит при клике на объект
dblclick MouseEvent Происходит при двойном клике на объект
mousedown MouseEvent Происходит при нажатии клавишей мыши при наведенном указателе
mouseover MouseEvent Происходит при наведении курсора мыши на объект
mouseout MouseEvent Происходит, когда курсор мыши покидает зону объекта на карте

IconMarker

Создает маркер на карте с использованием изображения. Наследуется от GeoPortal.Marker


var marker = new GeoPortal.IconMarker(
    new GeoPortal.LatLng(55,49),
    'http://host/path/image.png'
)
map.addLayer(marker);

Конструктор

new GeoPortal.IconMarker(<GeoPortal.LatLng> latlng, <String> iconUrl, <Marker options> options)
Создает новый точечный объект

mapSurfer — API — elem

Zoom

Элемент управления картой: сдвиг карты вправо, влево, вверх, вниз; масштабирование карты.


var map = new GeoPortal.Map('map'),
    zoom = new GeoPortal.Control.Zoom();

zoom.on("handClick", function(){
console.log("icon hand click");
},this);
map.addControl(zoom);

Конструктор

new GeoPortal.Control.Zoom()

События

Событие Тип Описание
handClick Event Происходит при нажатии на иконку «рука»

Distance

Элемент измерения дистанции.


var map = new GeoPortal.Map('map'),
    distance = new GeoPortal.Control.Distance();

distance.on("control:distance:enable", function(data){
console.log("control:distance:enable");
},this);
distance.on("control:distance:disable", function(data){
console.log("control:distance:disable");
},this);
map.addControl(distance);

Конструктор

new GeoPortal.Control.Distance()

Методы

Метод Возвращает Описание
getLine() GeoPortal.Vector.PolyLine Возвращает текущую кривую
distance() Float Возвращает текущее суммарное расстояние

События

Событие Тип Описание
control:distance:enable Event Происходит, когда элемент становится активным
control:distance:disable Event Происходит, когда элемент становится неактивным

Search

Элемент поиска объектов на карте по входящей строке


var map = new GeoPortal.Map('map'),
    search = new GeoPortal.Control.Search();

search.on("search:finish",function(data){
    if(typeof data.features != undefined){
        console.log(data.features);
    }
    else{
    throw new Error("Error status=" + data.status + ", errorText: " + data.error);
    }
},this);
map.addControl(search);

Конструктор

new GeoPortal.Control.Search()

События

Событие Тип Описание
search:finish SearchEvent Происходит при окончании поиска.
Если во время поиска не произошло ошибки, SearchEvent содержит поле features — массив экземпляров класса GeoPortal.Feature.
Если произошла ошибка, то SearchEvent содержит поля status (статус ошибки) и error (сама ошибка).

RectangleDraw

Элемент для выделения области на карте


var map = new GeoPortal.Map('map'),
    restangle = new GeoPortal.Control.RectangleDraw();

restangle.on("control:RectangleDraw:enable", function(data){
    console.log("control:RectangleDraw:enable");
},this);

restangle.on("control:RectangleDraw:created", function(data){
    var latLngBounds = new GeoPortal.LatLngBounds(data.latLngs[0],data.latLngs[2]);
    map.fitBounds(latLngBounds);
},this);
map.addControl(restangle);

Конструктор

new GeoPortal.Control.RectangleDraw();

Методы

Метод Возвращает Описание
disable() void Отключает элемент, убирает выделенную область на карте

События

Событие Тип Описание
control:RectangleDraw:enable Event Происходит при активации элемента
control:RectangleDraw:disable Event Происходит при деактивации элемента
control:RectangleDraw:created RectangleEvent Происходит при выделении области на карте.
RectangleEvent содержит поле latLngs — массив экземпляров объекта GeoPortal.LatLng

mapSurfer — API — types

LatLng

Представляет географическое местоположение через ширину и долготу


var latLng1 = new GeoPortal.LatLng(100, -200);
/*получим место с координатами (90, -180)*/
var latLng2 = new GeoPortal.LatLng(55.824872, 49.086084);
/*местоположение, соответствующее Казани на карте maps.google.com*/


Конструктор

new GeoPortal.LatLng(<Number> rawLat, <Number> rawLng, <Boolean> noWrap)

Параметры:

  • <Number> rawLat — широта
  • <Number> rawLng — долгота
  • <Boolean> noWrap — флаг, указывающий, необходимо ли ограничивать значения rawLat и rawLng максимально и минимально доступными — [-90..90] и [-180..180], соответственно. Например, при new GeoPortal.LatLng(100, -200, true) будет создан объект с широтой 100 и долготой -200, а при GeoPortal.LatLng(100, -200, false) — с широтой 90 и долготой -180. Значение по умолчанию — false.

Константы

Константа Описание
DEG_TO_RAD коэффициент преобразования градусов в радианы
RAD_TO_DEG коэффициент преобразования радиан в градусы
MAX_MARGIN максимальная погрешность координат (10^(-9))

Свойства

Свойство Тип Описание
lat Number широта
lng Number долгота

Исключения

Invalid LatLng object: (<rawLat>, <rawLng>) — возникает при создании объекта в случае, если хотя бы один из параметров rawLat или rawLng отсутствует или не является числом, например new GeoPortal.LatLng(10) или new GeoPortal.LatLng(«dummy»)

Методы

Метод Возвращает Описание
equals (<GeoPortal.LatLng> latLng)

<GeoPortal.LatLng> latLng — объект координат для сравнения

Boolean (true — если совпадают, и false — если не совпадают ) Сравнивает значения имеющихся координат с передаваемыми.
toString() String возвращает строку вида «LatLng(<lat>, <lng>)»
distanceTo (<GeoPortal.LatLng> latLng)

<GeoPortal.LatLng> latLng — заданная точка

Number Возвращает расстояние до заданной точки от текущей точки

LatLngBounds

Представляет область, определяемую заданными географическими границами


    var latLng1 = new GeoPortal.LatLng(100, -200);
    /*получим место с координатами (90, -180)*/
    var latLng2 = new GeoPortal.LatLng(55.824872, 49.086084);
    /*местоположение, соответствующее Казани на карте maps.google.com*/

    var bounds = new GeoPortal.LatLngBounds(latLng1, latLng2);
    /*границы, определяемые этими точками*/

    map.fitBounds(bounds)
    /*покажет область карты, заданную этими границами*/

Конструктор

new GeoPortal.LatLngBounds(<GeoPortal.LatLng> southWest, <GeoPortal.LatLng> northEast)

Параметры:

  • <GeoPortal.LatLng> southWest — точка, описывающая южную и западную границы
  • <GeoPortal.LatLng> northEast — точка, описывающая северную и восточную границы

 

new GeoPortal.LatLngBounds(<Array GeoPortal.LatLng> latLngs

Параметры:

  • <Array GeoPortal.LatLng> latLngs — массив точек, формирующих границы

Константы

Константа Описание
DEG_TO_RAD коэффициент преобразования градусов в радианы
RAD_TO_DEG коэффициент преобразования радиан в градусы
MAX_MARGIN максимальная погрешность координат (10^(-9))

Методы

Метод Возвращает Описание
extend (<GeoPortal.LatLng> latLng)

<GeoPortal.LatLng> latLng — объект координат для сравнения

void При необходимости расширяет границы таким образом, чтобы в них входила точка с заданными координатами
center() GeoPortal.LatLng Вычисляет и возвращает координаты центра области, заданной координатами границ
southWest() GeoPortal.LatLng Возвращает координаты точки, описывающей южную и западную границы
northEast() GeoPortal.LatLng Возвращает координаты точки, описывающей северную и восточную границы
southEast() GeoPortal.LatLng Возвращает координаты точки, описывающей южную и восточную границы
northWest() GeoPortal.LatLng Возвращает координаты точки, описывающей северную и западную границы
contains (<GeoPortal.LatLng> latLng)

<GeoPortal.LatLng> latLng — точка

Boolean Проверяет, входит ли заданная точка в построенные границы
contains (<GeoPortal.LatLngBounds> latLngBounds)

<GeoPortal.LatLngBounds> latLngBounds — область

Boolean Проверяет, входит ли заданная область в построенные границы
intersects (<GeoPortal.LatLngBounds> latLngBounds)

<GeoPortal.LatLngBounds> latLngBounds — область

Boolean Проверяет, есть ли пересечение с заданной областью
toBBoxString() String Возвращает координаты границ в строке вида «<west>,<south>,<east>,<north>»

Point

Представляет расположение в двумерной системе координат, где x соответствует горизонтальной оси, а y — вертикальной.


var point1 = new GeoPortal.Point(55.824872, 49.086084);
/*получим точку с координатами (55.824872, 49.086084)*/

var point2 = new GeoPortal.Point(55.824872, 49.086084, true);
/*получим точку с координатами (55, 49)*/

Конструктор

new GeoPortal.Point(<Number> x, <Number> y, <Boolean> round)

Параметры:

  • <Number> x — горизонтальная координата точки.
  • <Number> y — вертикальная координата точки.
  • <Boolean> round — флаг, указывающий, необходимо ли округлять значения x и y до целых чисел. Значение по умолчанию — false.

Свойства

Свойства Описание
<Number> x горизонтальная координата точки
<Number> y вертикальная координата точки

Методы

Метод Возвращает Описание
add (<GeoPortal.Point> point)

<GeoPortal.Point> point — добавляемая точка

GeoPortal.Point Создает новую точку путем добавления координат заданной точки к координатам текущей точки
subtract (<GeoPortal.Point> point)

<GeoPortal.Point> point — вычитаемая точка

GeoPortal.Point Создает новую точку путем вычитания координат заданной точки из координат текущей точки
divideBy (<Number> num, <Boolean> round)

<Number> num — делитель

<Boolean> round — флаг, определяющий, необходимо ли округлять результат до целого числа

GeoPortal.Point Создает новую точку путем деления координат текущей точки на заданный делитель
multiplyBy (<Number> num)

<Number> num — множитель

GeoPortal.Point Создает новую точку путем умножения координат текущей точки на заданный множитель
distanceTo (<GeoPortal.Point> point)
<GeoPortal.Point> point — заданная точка
Number Возвращает расстояние до точки с заданными координатами от текущей точки
round() GeoPortal.Point Создает новую точку путем округления координат текущей точки до целых чисел
clone() GeoPortal.Point Создает копию текущей точки
toString() String Возвращает строку вида «Point(<x>, <y>)», значения координат при этом округлены до пятого знака после запятой

Icon

Иконка точечных географических объектов


var icon = new GeoPortal.Icon();
var marker = new GeoPortal.Marker(latLng, {icon: icon});
map.addLayer(pointMarker);


Конструктор

new GeoPortal.Icon(<String> iconUrl)

Параметры:

  • iconUrl — url основной картинки

Свойства

Свойства Описание
<String> iconUrl url основной картинки. Значение по умолчанию — GeoPortal.basePath + «/public/images/mapsurfer/marker.png»
<String> shadowUrl url картинки тени. Значение по умолчанию — GeoPortal.basePath + «/public/images/mapsurfer/marker-shadow.png»
<GeoPortal.Point> iconSize размеры иконки. Значение по умолчанию — GeoPortal.Point(49, 52)
<GeoPortal.Point> shadowSize размеры тени. Значение по умолчанию — GeoPortal.Point(41, 41)
<GeoPortal.Point> iconAnchor смещение иконки относительно точки координат. Значение по умолчанию — GeoPortal.Point(13, 41)
<GeoPortal.Point> popupAnchor точка появления всплывающего окна. Значение по умолчанию — GeoPortal.Point(0, -33)

Методы

Метод Возвращает Описание
createIcon() HTMLImageElement или HTMLDivElement Возвращает HTML-объект с иконкой
createShadow() HTMLImageElement или HTMLDivElement Возвращает HTML-объект с тенью иконки

FilterCQL

Фильтр отображения объектов слоя. Фильтрация производится по полям, доступным в атрибутике слоя. При создании фильтра необходимо указать список условий фильтрации. Условие фильтрации включает в себя название и тип поля (можно получить из атрибутики слоя) и значение для сравнения. Для числовых полей также необходимо указать условие сравнения


var filterCQL = new GeoPortal.Filter.CQL([
    {
        field: "nomerdoma",
        compare: ">",
        type: "integer",
        value: "90"
    },
    {
        field: "organization",
        type: "string",
        value: "ООО Дома"
    }
]);
workingLayer.setFilter(filterCQL);

Конструктор

new GeoPortal.Filter.CQL (<Array> filters)

Параметры:

<Array> filters — массив объектов с полями:

  • <String> field — название поля, по которому происходит фильтрация
  • <String> compare — условие прохождения фильтрации («>», «<«, «=»). Необходимо только для численных полей
  • <String> type — тип поля
  • <String> value — значение, по которому происходит фильтрация

Исключения

Input parameters are not correct! — возникает при создании объекта без указания параметров, либо если параметр не является массивом, например new GeoPortal.Filter.CQL(null) или new GeoPortal.Filter.CQL(123)

Методы

Метод Возвращает Описание
filters() Array Возвращает массив фильтров, указанных при создании объекта (см. Конструктор)
filterString() String Используется для получения сформированной строки CQL-запроса для заданного в объекте набора фильтров

mapSurfer — API — interface

Layer


GeoPortal.Layer.findLayerById(
    204,
    function(layer){
        layer.setOpacity(0.4);
        console.log(layer.legend());
    },
    function(status, error){
        console.log(error);
});

Методы

Метод Описание
legend () возвращает ссылку на легенду слоя
requestMetaData(callback,callErrorBack) возвращает информацию о слое
входящие параметры:
callback(metadataObject) – функция выполняется, если удалось получить
атрибуты слоя с сервера. Принимает на вход один параметр – объект metadata.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время
запроса.
opacity() возвращает коэффициент прозрачности слоя (0 – полная прозрачность, 1 — не прозрачный слой)
setOpacity(value) установить коэфициент прозрачности слоя (0 – полная прозрачность, 1 — не прозрачный слой)
requestBbox(callback,callErrorBack) входящие параметры:
callback(bbox) – функция выполняется, если границы слоя получены с сервера.
Принимает на вход один параметр – объект, имеющий структуру:


bbox{
    "minx":"48.882",
    "maxx":"49.274",
    "miny":"55.694",
    "maxy":"55.881",
    "crs":"EPSG:4326"
}

callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.

id() возвращает id слоя
fields() возвращает поля слоя
titleFields() возвращает поля, входящие в заголовок слоя
name() возвращает typeName слоя
rusName() возвращает русское название слоя
group() возвращает id группы слоев, которой принадлежит слой
attributes(callback, callErrorBack) входящие параметры:
callback(attributes) – функция выполняется, если удалось получить атрибуты слоя с сервера. Принимает на вход один параметр – массив объектов, имеющих структуру: {
name:”type_name”,
nameRu:”rus_name”,
type:”тип_структуры”
}
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.
enabled() возвращает true, если слой показывается на карте
turn(map) включает слой на карте, если он уже не включен, в противоположном случае удаляет слой с карты.
Параметр map должен быть экземпляром класса Geoportal.Map
featuresWithin(latLngBounds, callback,callErrorBack) свойств слоя (feautures) по bbox.
входящие параметры:
latLngBounds — экземпляр класса GeoPortal.LatLngBounds,
callback(featuresArray) – функция выполняется, если у данного слоя, на карте будет найдено свойство с координатами, находящимися в указанной области (latLngBounds). Принимает на вход один параметр — массив экземпляров класса GeoPortal.Feature.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.
setFilter (filterCQL) устанавливает сql фильтр слою, параметр filterCQL – экземпляр класса GP.Filter.CQL.
resetFilter() удаляет сql фильтр слоя.
filter() возвращает сql фильтр слоя, экземпляр класса GP.Filter.CQL
onAdd(map) добавляет слой на карту, параметр map –экземпляр класса Geoportal.Map
onRemove(map) удаляет слой с карты, параметр map –экземпляр класса Geoportal.Map

Group


GeoPortal.findGroupByName(
    “group_name”,
    function(groups){
        if(groups.length){
            group = groups[0];
            console.log(group.name());
            console.log(group.order());
            var layers = group.layers();
        }
    },
    function(status,error){
        alert(error);
    },
    true);

Методы

Метод Описание
id() возвращает id группы слоев
name() возвращает название группы слоев
order() возвращает порядок группы в списке
layers() возвращает массив слоев, содержащихся в группе. Слои являются экземплярами класса GeoPortal.Layer.

MapExtent


var mapExtent = GeoPortal.mapExtent;
console.log(mapExtent.extent());

Методы

Метод Описание
id() возвращает id
name() возвращает название границы
projection() возвращает проекцию, в которой содержатся координаты
extent() возвращает границу в формате


extent{
    minLat,
    minLon,
    maxLat,
    maxLon
}

minLat() возвращает минимальную широту
minLon() возвращает минимальную долготу
maxLat() возвращает максимальную широту
maxLon() возвращает максимальную долготу

BaseLayer


var baseLayer = GeoPortal.baseLayers.schemas[0];
console.log(baseLayer.name())

Методы

Метод Описание
id() возвращает id базового слоя
name() возвращает название базового слоя
type() возвращает тип базового слоя
className() возвращает класс базового слоя

Feature


featuresWithin(
    latLngBounds,
    function(feautureArray){
        console.log(feautureArray[0].title());
    },
    function(status, error){
        console.log(error);
});

Методы

Метод Описание
id() возвращает id базового свойства
title() возвращает название свойства
geomFieldName() возвращает название поля с геометрией
feature() возвращает данные свойства
layerId () возвращает id слоя, которому принадлежит данное свойство
wmsName() английское название слоя
popUpTitle() Заголовок для popUp

mapSurfer — API — map

Карта – один из основных объектов. Одновременно с этим в проекте может быть несколько карт. Карту можно вписывать в DOM element, на нее можно добавлять слои, устанавливать маркеры и т.д.


var map =  new GeoPortal.Map();
var zoom = map.zoom();
map.setZoom(zoom + 2);

                               
Параметры при создании Описание Пример использования
Container Либо DOM element, либо строка id DOM элемента
Options

options: {
    zoom: 3,
    center: {
        lng: 88.681640625,
        lat: 55.37911044801047
    },
    baseLayer: undefined, //GepPortal.BaseLayer 
    layers: [ ]  //GepPortal.Layers,   
},

                                

//пример создания
var map = GeoPortal.Map(container, options);

                    

Опция Описание Значение по умолчанию
zoom Уровень масштаба 3
center Центр карты lng: 88.681640625,
lat: 55.37911044801047
baseLayer Базовый слой undefined
layers Включенные по умолчанию слои [ ]

Методы

Метод Описание Пример использования
zoom() возвращает zoom карты

var map =  new GeoPortal.Map();
var zoom = map.zoom();
map.setZoom(setZoom +  2);

                               
setZoom (zoom) Устанавливает zoom, параметр zoom — числовое значение

var map = new GeoPortal.Map();
map.setZoom(5);

                                
zoomIn() Увеличивает zoom на единицу(приближает карту)

var map = new GeoPortal.Map();
map.zoomIn();

                                
zoomOut() Уменьшает zoom на единицу(отдаляет карту)

var map = new GeoPortal.Map();
map.zoomOut();

                                
panBy (point) Сдвигает карту на координаты точки. Параметр point – экземпляр класса GeoPortal.Point

var map = new GeoPortal.Map();
var point = new M.Point(555,555);
map.panBy(p);

                                
center() возвращает центр карты

var map = new GeoPortal.Map();
var center = map.center ();
console.log(center);

                               
setCenter (lon,lat) Устанавливает центр карты

var map = new GeoPortal.Map();
map.setCenter(55,55);

                                
setView (lon,lat,zoom) Устанавливает положение карты с центром в точке (lon,lat) и уровнем масштаба zoom

var map = new GeoPortal.Map();
map.setView(55,55,3);

                                
bounds() возвращает текущий bbox

    -

                                
fitBounds (minLon, minLat ,maxLon ,maxLat) устанавливает bbox

var map = new GeoPortal.Map();
map.fitBounds (48.988037109375, 55.706224094880426,
                           49.2626953125, 55.889945875033845);
fitBounds (latLngBounds) Устанавливает bbox, параметр latLngBounds является экземпляром класса GeoPortal.LatLngBounds.

var map = new GeoPortal.Map();
var latLngBounds = new GeoPortal.LatLngBounds (48.988037109375,
          55.706224094880426, 49.2626953125, 55.889945875033845);
map.fitBounds (latLngBounds);

                                

Методы

Метод Описание Пример использования
baseLayer() Возвращает текущий базовый слой, экземпляр класса GeoPortal.BaseLayer

    -

                                
setBaseLayer(baseLayer) Установить базовый слой и добавить его на карту, параметр baseLayer экземпляр класса GeoPortal.BaseLayer

var map = new GeoPortal.Map();

if(GeoPortal.baseLayers &&
   GeoPortal.baseLayers.schemas &&
   GeoPortal.baseLayers.length > 0) {
        var baseLayer = new  GeoPortal.baseLayers.schemas[0];
        map.setBaseLayer(baseLayer) ;
   }

                                
layers() возвращает массив добавленных слоев

    -

                                
addLayer (layer) Добавляет слой на карту, параметр layer — экземпляр GeoPortal.Layer

    -

                                
removeLayer(layer) Удаляет слой с карты, параметр layer — экземпляр GeoPortal.Layer

    -

                                

Методы

Метод Описание Пример использования
addControl(control) Добавляет control на карту, параметр control – экземпляр класса GeoPortal.Control.

var map = new GeoPortal.Map();
zoom = new GeoPortal.Control.Zoom();

zoom.on("handClick", function(){
    console.log("handClick");
},this);

map.addControl(zoom);


removeControl(control) Удаляет control, параметр control – экземпляр класса GeoPortal.Control.

var map = new GeoPortal.Map();
zoom = new GeoPortal.Control.Zoom();

zoom.on("handClick", function(){
    console.log("handClick");
},this);

map.addControl(zoom);
map.removeControl (zoom);


Методы

Метод Описание
featuresWithin(latLngBounds, callback,callErrorBack) получение свойств слоев (feautures) по bbox.

входящие параметры:
latLngBounds — экземпляр класса GeoPortal.LatLngBounds,
callback(featuresArray) – функция выполняется, если хотя бы у одного слоя,
включенного на карте будет найдено свойство с координатами, находящимися в
указанной области (latLngBounds). Принимает на вход один параметр — массив
экземпляров класса GeoPortal.Feature.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во
время запроса. На вход принимает два параметра: статус и описание ошибки.


var map = new GeoPortal.Map();

map.on(“zoomend”,function(){
    console.log(map.zoom());
},this);

    
Событие Описание
ready событие происходит, когда карта готова к использованию.
zoomend событие происходит после приближения или отдаления карты.
move событие происходит при сдвиге карты.
viewreset событие происходит после перерисовки карты.
popupclose событие происходит после закрытия окошка сообщения на карте
popupopen событие происходит после открытия окошка сообщения на карте(например, после клика на точку)

mapSerfer — API — GeoPortal

GeoPortal является основным объектом API для взаимодействия с системой.

Пример работы с GeoPortal:


GeoPortal.requestGroups (
    true,
    function(groups){
        if(groups && groups.length){
            var group = groups [0];
            var layers = group.groupLayers;
            if(layers && layers.length)
                map.addLayer(layers[0]);
        }
    },
    function(status,error){
       console.log(error);
    });


События

Событие Описание Пример использования
ready Событие происходит, когда API готово к использованию.

GeoPortal.on(“ready”,
                        function(){

                        },this);

                                

Свойства

Свойство Описание
baseLayers Объект, состоящий из двух полей (schemas , spaces), каждое из которых является массивом. Элементы массива — экземпляры класса GeoPortal.BaseLayer.
1)schemas (GeoPortal.baseLayers.schemas) — хранит набор базовых слоев, типа «карта».
2) spaces (GeoPortal.baseLayers.spaces) — хранит набор базовых слоев, типа «космоснимок».
mapExtent Стандартные границы карты. Объект класса GeoPortal.MapExtent.
basePath url геопортала.

Методы

Метод Описание Пример использования
requestLayers( callback, callErrorBack) Список всех доступных слоев.
Входящие параметры:
callback(layers) – функция выполняется при получении слоев с сервера.
Принимает на вход один параметр — массив экземпляров класса GeoPortal.Layer.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время
запроса. На вход принимает два параметра: статус и описание ошибки.

var map = new GeoPortal.Map();
GeoPortal.requestLayers (
        function(layers){
        var layer = layers[0];
            map.addLayer(layer);
        },
        function(status,error){
            console.log(error);
        });

                                

Методы

Метод Описание Пример использования
findLayerById (id, callback,callErrorBack) Поиск слоя по id.
входящие параметры:
id – id слоя
callback(layer) – функция выполняется, если слой с данным id найден на сервере.
Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.Layer.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время
запроса. На вход принимает два параметра: статус и описание ошибки.

var map = new GeoPortal.Map();
GeoPortal.findLayerById (
        204,
        function(layer){
            map.addLayer(layer);
        },
        function(status,error){
            console.log(error);
        });

                                
findLayerByName( name, callback, callErrorBack) поиск слоев по typeName.
входящие параметры:
name – typeName слоя
callback(layers) – функция выполняется, если найден хотя бы один слой, для которого параметр
name является подстрокой у typeName. Принимает на вход один параметр: элемент — массив
экземпляров класса GeoPortal.Layer, у которых typeName содержит в себе подстроку name.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На
вход принимает два параметра: статус и описание ошибки.

GeoPortal. findLayerByName (
        “layer_name”,
        function(layers){
        var layer = layers[0];
            console.log(layer.name());
        },
        function(status,error){
            console.log(error);
        });

                                

Методы

Метод Описание Пример использования
requestGroups( withLayers, callback, callErrorBack) Cписок доступных групп слоев.
Входящие параметры:
withLayers – если параметр true, то группы вернутся со слоями
callback(groups) – функция выполняется при получении групп слоев с сервера.
Принимает на вход один параметр — массив экземпляров класса GeoPortal.LayerGroup.
callErrorBack(status,error) – функция, которая будет выполняться при ошибке во время запроса,
на вход должна принимать статус и описание ошибки.

var map = new GeoPortal.Map();
GeoPortal.requestGroups (
        true,
        function(groups){
            var group = groups [0];
            var layers = group.groupLayers;
            if(layers && layers.length)
                map.addLayer(layers[0]);
        },
        function(status,error){
            console.log(error);
        });

                               

Методы

Метод Описание Пример использования
findGroupById (id, withLayers, callback, callErrorBack) Поиск группы слоев по id.
Входящие параметры:
id – id группы слоев
withLayers – если параметр true, то группы вернутся со слоями
callback(groups) — функция выполняется при получении группы слоев с сервера.
Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.LayerGroup.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.


GeoPortal. findGroupById (
        32,
        function(group){
            console.log(group.id());
        },
        function(status,error){
            console.log(error);
        },
        true);

                               
findGroupByName (name, withLayers, callback, callErrorBack) Поиск групп слоев по имени.
Входящие параметры:
name – название группы слоев
callback(groups) – функция выполняется, если найден хотя бы один слой, для которого параметр
name является подстрокой у названия. Принимает на вход один параметр: элемент — массив экземпляров
класса GeoPortal.LayerGroup, у которых название содержит в себе подстроку name.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.

GeoPortal.findGroupByName (
        “group_name”,
        function(group){
            console.log(group.name());
        },
        function(status,error){
            alert(error);
        },
        true);

                                

Методы

Метод Описание Пример использования
authenticate(login,password,callBack,callErrorBack) Авторизация
Входящие параметры:
login – логин пользователя
password – пароль пользователя
callback(data) — функция выполняется при успешной авторизации.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.


GeoPortal.authenticate("demo","demo",
    function(data){
        GeoPortal.requestGroups(true,
            function(groups){
                console.log(groups);
            },
            function(status,error){
                console.log("Error to request groups list. Status = " +
                            status + ". Error text: " + error);
            }
        );
    },
    function(status,error){
        console.log("Error to request authentication. Status = " +
                    status + ". Error text: " + error);
    }
);

currentUser(callBack,callErrorBack) Текущий пользователь
Входящие параметры:
callback(user) — функция выполняется, если получены данные о текущем пользователе.
В качестве параметра получает, данные о пользователе, если пользователь не авторизован, то приходит null.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.

GeoPortal.currentUser(
    function(user){
        if (user != null){
            console.log(user.name);
        }
    },
    function(status,error){
        console.log("Error to request authentication. Status = " +
                    status + ". Error text: " + error);
    }
);

logout() Выход из системы

GeoPortal.on("logout",function(){
    console.log("User is logout");
},this);
GeoPortal.logout();

События

Событие Описание
logout Происходит, когда авторизированный пользователь выходит из системы

Пространство имен для служебных функций


var icon = new GeoPortal.Icon();
var marker = new GeoPortal.Marker(latLng, {icon: icon});
/*создаем маркер*/

/*описываем реакцию на клик по маркеру*/
marker.on(
   "click",
   GeoPortal.Util.bind(function() {
      console.log(this.options.icon.iconUrl);
      /*вывести в консоль url иконки*/
   },
   marker)
   /*функция выполнится в контексте маркера, то есть выведется путь до его иконки*/
);

Методы

Метод Возвращает Описание
bind (<Function> method, <Object> context)
<Function> method — функция, которой необходимо привязать контекст
<Object> context — контекст
Function Связывает функцию method с объектом object. Это значит, что каждый раз, когда она будет вызвана, this будет указывать на object.

mapSurfer -rest — geocoding

POST /geocoding

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


POST /geocoding?token=bw3ty3h46yth

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

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


{
    "layersId":[
        "10",
        "12",
        "26"
    ],
    "query":"Казань",
    "point":{
        "lon":50.69091796875,
        "lat":55.33851784425634
    }
}



// массив id слоев, где также надо осуществлять поиск




// строка запроса
// центр карты, объект
// долгота точки, число с плавающей точкой
// широта точки, число с плавающей точкой

Ответ:

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

Формат: json


{
    "layers": [
        {
            "layer": "Улицы",
            "wmsName": "world:k2_ulitsy_l",
            "layerId": null,
            "items": [
                {
                    "pkid": 162815,
                    "label": "Республика Татарстан, Казань, Ледяная",
                    "zoom": 16,
                    "point": {
                        "lon": 49.28956419647526,
                        "lat": 55.75372719479096
                    }
                }
            ]
        }
    ]
}



// массив слоев, где найдены объекты
// объект слоя
// русское название, строка
// английское название, строка
// null - слой, для поиска по умолчанию, иначе id из массива
// массив найденных объектов
// найденный объект
// первичный ключ, строка
// заголовок, строка
// зум для отображения, целое число
// точка, объект
// долгота точки, число с плавающей точкой
// широта точки, число с плавающей точкой

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

Формат: text/plain

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

GET /geocoding

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


POST /geocoding?query=Казань&lon=55.45&lat=49.67&layersId=12,23,345,56&token=bw3ty3h46yth

query: строка запроса

lon: долгота центра карты, число с плавающей точкой

lat: широта центра карты, число с плавающей точкой

layersId: id слоев, где также надо осуществлять поиск, через запятую

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

Ответ:

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

Формат: json


{
    "layers": [
        {
            "layer": "Улицы",
            "wmsName": "world:k2_ulitsy_l",
            "layerId": null,
            "items": [
                {
                    "pkid": 162815,
                    "label": "Республика Татарстан, Казань, Ледяная",
                    "zoom": 16,
                    "point": {
                        "lon": 49.28956419647526,
                        "lat": 55.75372719479096
                    }
                }
            ]
        }
    ]
}



// массив слоев, где найдены объекты
// объект слоя
// русское название, строка
// английское название, строка
// null - слой, для поиска по умолчанию, иначе id из массива
// массив найденных объектов
// найденный объект
// первичный ключ, строка
// заголовок, строка
// зум для отображения, целое число
// точка, объект
// долгота точки, число с плавающей точкой
// широта точки, число с плавающей точкой

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

Формат: text/plain

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

mapSurfer -rest — objects

POST /layers/feature

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


GET /layers/feature?token=bw3ty3h46yth

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

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


{
    "layersId": ["198","245","345"],
    "size": {
        "x": 1920,
        "y": 778
    },
    "extent": {
        "_southWest": {
            "lat": 55.488191455802244,
            "lng": 47.94158935546874
        },
        "_northEast": {
            "lat": 56.08889483995169,
            "lng": 50.57830810546875
        }
    },
    "point": {
        "x": 859,
        "y": 364
    }
}



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

// область видимости карты, объект
// координаты нижней левой точки на карте в градусах, объект
// широта нижней левой точки, число с плавающей точкой
// долгота нижней левой точки, число с плавающей точкой

// координаты верхней правой точки на карте в градусах, объект
// широта верхней правой точки, число с плавающей точкой
// долгота верхней правой точки, число с плавающей точкой


// точка, в которой происходит поиск. в пикселях, объект
// координата х, целое число
// координата y, целое число

Ответ:

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

Формат: json


{
    "data": {
        "kziokzn:vamin_kioski_p_vw": {
            "features": [
                {
                    "fid": "141",
                    "zayavit": "ОАО \"Вамин Татарстан\"",
                    "syyinfo":"Есть",
                    "srnaimenovanie":"Ново-савиновский",
                    "geom":"",
                    "nomerdoma":"47","
                    sunaimenovanie":"10летОктября[П, Ст.Победилово]",
                    "syinfo":"Есть",
                    "svinfo":"Существующий"
                }
            ],
            "layerId":198,
            "geomFieldName":null
        }
    }
}



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









// id слоя
// поле геометрии либо null

Статус: 403 - нет доступа к слоям

Формат: text/plain

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

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

Формат: text/plain

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

POST /layers/feature/bbox

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


GET /layers/feature/bbox?token=bw3ty3h46yth

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

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


{
    "layersId": ["198","234","23"],
    "srs": "EPSG:4326",
    "extent": {
        "_southWest": {
            "lng": 49.04296875,
            "lat": 55.754940702479146
        },
        "_northEast": {
            "lng": 49.299774169921875,
            "lat": 55.90457539720638
        }
    }
}



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

// координаты верхней правой точки области, объект
// широта верхней правой точки, число с плавающей точкой
// долгота верхней правой точки, число с плавающей точкой

Ответ:

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

Формат: json


{
    "data": {
        "kziokzn:vamin_kioski_p_vw": {
            "features": [
                {
                    "fid": "141",
                    "zayavit": "ОАО \"Вамин Татарстан\"",
                    "syyinfo":"Есть",
                    "srnaimenovanie":"Ново-савиновский",
                    "geom":"",
                    "nomerdoma":"47","
                    sunaimenovanie":"10летОктября[П, Ст.Победилово]",
                    "syinfo":"Есть",
                    "svinfo":"Существующий"
                }
            ],
            "layerId":198,
            "geomFieldName":null
        }
    }
}



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









// id слоя
// поле геометрии либо null

Статус: 403 - нет доступа к слоям

Формат: text/plain

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

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

Формат: text/plain

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

GET layers/eis/{layerId}/{objectId}

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


GET /layers/eis/198/141?token=bw3ty3h46yth

layerId: id слоя

objectId: значение первичного ключа объекта

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

Ответ:

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

Формат: json


{
    "files": [
        {
            "url": "/layers/eis/198/141/photo/247",
            "fileName": "Чистопольская,47.JPG",
            "type": {
                "id": 3,
                "name": "photo"
            },
            "asUrl": false
        },
        {
            "url": "/layers/eis/198/141/file/247",
            "fileName": "Чистопольская,47.JPG",
            "type": {
                "id": 4,
                "name": "file"
            },
            "asUrl": false
        }
    ]
}



// массив найденных прикрепленных файлов
// прикрепленный файл, объект
// путь к файлу
// название файла
// тип файла
// id типа,
// название типа, может быть photo, video, audio, file

// представлен ли файл как ссылка

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

Формат: text/plain

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

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

Формат: text/plain

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

GET layers/eis/{layerId}/{objectId}/photo/{photoId}

Отображение прикрепленной фотографии

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


GET /layers/eis/198/141/photo/247?token=bw3ty3h46yth

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

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

GET layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}

Отображение прикрепленной фотографии с масштабированием по высоте

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


GET /layers/eis/198/141/photo/247/100?token=bw3ty3h46yth

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

height: высота для масштабирования

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

GET layers/eis/{layerId}/{objectId}/photo/{photoId}/{height}/{width}

Отображение прикрепленной фотографии с масштабированием по высоте и ширине

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


GET /layers/eis/198/141/photo/247/100/150?token=bw3ty3h46yth

layerId: id слоя

objectId: первичный ключ объекта

photoId: первичный ключ фотографии

height: высота для масштабирования

width: ширина для масштабирования

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

Ответ:

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

Формат: image/jpeg и т.д.

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /layers/eis/{layerId}/{objectId}/{fileType}/{fileId}

Отображение прикрепленного файла

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


GET /layers/eis/198/141/file/247?token=bw3ty3h46yth

layerId: id слоя

objectId: первичный ключ объекта

fileType: тип файла: photo, video, audio, file

fileId: первичный ключ файла

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

Ответ:

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

Формат: зависит от типа отдаваемого файла

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

Формат: text/plain

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

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

Формат: text/plain

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

mapSurfer — rest — layers

GET /layers

Список слоев с полной информацией

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

Получение списка слоев:


GET /layers?token=bw3ty3h46yth

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

Получение списка слоев по английскому названию:


GET /layers?name=test:test_a&token=bw3ty3h46yth

name: английское название слоя или слово, встречающееся в названии списка слоев

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

Ответ:

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

Формат: json


{
    "layers": [
        {
        "layer": {
            "id": 136,
            "name": "Тестовый слой",
            "enabled": false,
            "info": {
                "id": 136,
                "typeName": "test:test_a",
                "style": "test_a_style",
                "service": "WMS",
                "poly": true,
                "requestUrl": "/service/wms",
                "eisInfo": {
                    "hasEis": false,
                    "pkField": ""
                }
            },
            "fields": [
                {
                    "id": 4423,
                    "name": "vid",
                    "nameRu": "Поле 1",
                    "order": 1,
                    "title": false
                }
            ],
            "isKosmosnimok": false
        },
        "order": 2,
        "groupId": 14
        }
    ]
}



// массив слоев
// объект слоя
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка


// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля , строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле


// является ли космоснимком, булевое поле

// порядок слоя в списке, целое число
// id группы

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

Формат: text/plain

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

GET /layers/{layerId}

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


GET /layers/132?token=bw3ty3h46yth

layerId: id слоя

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

Ответ:

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

Формат: json


{
    "layer": {
        "layer": {
            "id": 136,
            "name": "Тестовый слой",
            "enabled": false,
            "info": {
                "id": 136,
                "typeName": "test:test_p",
                "style": "test_p_style",
                "service": "WMS",
                "poly": false,
                "requestUrl": "/service/wms",
                "eisInfo": {
                    "hasEis": false,
                    "pkField": ""
                }
            },
            "fields": [
                {
                    "id": 4423,
                    "name": "vid",
                    "nameRu": "Поле 1",
                    "order": 1,
                    "title": false
                }
            ],
            "isKosmosnimok": false
        },
        "order": 2,
        "groupId": 14
    }
}



// объект
// объект слоя
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка


// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля, строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле


// является ли космоснимком, булевое поле

// порядок слоя в списке, целое число
// id группы

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

Формат: text/plain

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

GET /layers/{layerId}/info

Информация по слою, исключая данные о группе слоя

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


GET /layers/132/info?token=bw3ty3h46yth

layerId: id слоя

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

Ответ:

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

Формат: json


{
    "layer": {
        "id": 136,
        "name": "Тестовый слой",
        "enabled": false,
        "info": {
            "id": 136,
            "typeName": "test:test_p",
            "style": "test_p_style",
            "service": "WMS",
            "poly": false,
            "requestUrl": "/service/wms",
            "eisInfo": {
                "hasEis": false,
                "pkField": ""
            }
        },
        "fields": [
            {
                "id": 4423,
                "name": "vid",
                "nameRu": "Поле1",
                "order": 1,
                "title": false
            }
        ],
        "isKosmosnimok": false
    }
}



// объект слоя
// id слоя, целое число
// русское название слоя, строка
// включен ли слой по умолчанию, булевое поле
// информация по слою, объект
// id слоя, целое число
// английское название слоя, строка
// название стиля, строка
// тип сервиса, WMS/WFS
// является ли полигоном, булевое поле
// url для запроса, строка
// данные о наличии медиа информации, объект
// есть ли медиа информация, булевое поле
// поле для первичного ключа, строка


// массив полей
// объект поля
// id поля, целое число
// английское название поля, строка
// русское название поля, строка
// порядок следования в списке, целое число
// является ли заголовком, булевое поле


// является ли космоснимком, булевое поле

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /layers/{layerId}/bbox

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


GET /layers/199/bbox?token=bw3ty3h46yth

layerId: id слоя

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

Ответ:

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

Формат: json


{
    boundingBox: {
        minx: "49.053",
        maxx: "49.24",
        miny: "55.739",
        maxy: "55.863",
        crs: "EPSG:4326"
    }
}



// объект
// минимальный x, число с плавающей точкой
// минимальный y, число с плавающей точкой
// максимальный x, число с плавающей точкой
// максимальный y, число с плавающей точкой
// код проекции, строка

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /layers/{layerId}/metadata

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


GET /layers/199/metadata?token=bw3ty3h46yth

layerId: id слоя

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

Ответ:

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

Формат: json


{
    metadata: {
        id: 179,
        owner: "dhedheh",
        dataCreate: "2011.12.28 09.47",
        dataUpdate: "2011.12.28 09.47",
        itemsCount: 45,
        type: {
            id: 1,
            name: "Космоснимки",
            fieldList: [
                {
                    id: 1,
                    name: "Облачность",
                    order: 1,
                    inTable: true,
                    inTableName: "clouds",
                    fieldType: {
                        id: 2,
                        name: "Облачность",
                        control: "input_integer",
                        geomType: null,
                        library: false,
                        libraryData: {}
                    },
                    necessary: false
                },
                {
                    id: 2,
                    name: "Спутники",
                    order: 5,
                    inTable: true,
                    inTableName: "sputnik_id",
                    fieldType: {
                        id: 1,
                        name: "Список спутников",
                        control: "combobox",
                        geomType: null,
                        library: true,
                        libraryData: {
                            1: "IKONOS (1м)",
                            2: "QuickBird (0.6м)",
                            3: "EROS-A (2м)",
                            4: "EROS-B (0.7м)",
                            5: "WorldView-1 (0.5м)",
                            6: "GeoEye-1 (0.5м)"
                        }
                    },
                    necessary: false
                }
            ]
        },
        additionalFieldValues: [
            {
                field: {
                    id: 4,
                    name: "test11rrty",
                    order: 6,
                    inTable: false,
                    inTableName: null,
                    fieldType: {
                        id: 3,
                        name: "целое число",
                        control: "input_integer",
                        geomType: null,
                        library: false,
                        libraryData: {}
                    },
                    necessary: false
                },
                value: "213434априцукнр"
            }
        ],
        tableData: {
            clouds: "45",
            tecy_777: null,
            sputnik_id: "1",
            data: "2011-12-14 00:00:00+04",
            test777: "1",
            geom: null,
            layer_id: "179",
            quicklook: "kosmosnimok2012_02_08_05_06_06.jpg"
        }
    }
}



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

// является ли обязательным,булевое поле


























// массив дополнительных полей
// объект
// объект поля
// id поля,
// название, строка
// порядок отображения, целое число
// содержится ли значение в основной таблице, булевое поле
// название поля в основной таблице
// тип поля, объект
// id: типа, целое число
// название типа, строка
// управляющий элемент, который используется, строка
// тип геометрии, строка
// нужно ли искать значение поля в словаре, булевое поле
// данные словаря, объект

// является ли обязательным,булевое поле

// значение поля


// основная таблица с данными, объект
// поле таблицы и его значение

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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

GET /layers/{layerId}/metadata/quicklook/{file}

Отображение превью-картинки у метаданных, если она присутствует

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


GET /layers/179/metadata/quicklook/kosmosnimok2012_02_08_05_06_06.jpg?token=bw3ty3h46yth

layerId: id слоя

file: название файла, приходит в качестве значения поля превью у метаданных

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

Ответ:

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

Формат: image/jpeg и т.д.

Статус: 404 — картинка не найдена

Формат: text/plain

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

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

Формат: text/plain

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

GET /layers/{layerId}/attributes

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


GET /layers/199/attributes?token=bw3ty3h46yth

layerId: id слоя

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

Ответ:

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

Формат: json


{
    "name": "vamin_kioski_p_vwType",
    "features": [
        {
            "nillable": true,
            "name": "srnaimenovanie",
            "maxOccurs": "1",
            "type": "{http://www.w3.org/2001/XMLSchema}string",
            "minOccurs": 0
        }
    ]
}



// название слоя английское
// массив атрибутов
// объект атрибута

// название, строка

// тип

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

Формат: text/plain

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

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

Формат: text/plain

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

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

Формат: text/plain

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