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) – функция выполняется, если границы слоя получены с сервера. Принимает на вход один параметр – объект, имеющий структуру:
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() | возвращает границу в формате
|
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 | — |
|
//пример создания
var map = GeoPortal.Map(container, options);
Опции
Опция | Описание | Значение по умолчанию |
---|---|---|
zoom | Уровень масштаба | 3 |
center | Центр карты | lng: 88.681640625, lat: 55.37911044801047 |
baseLayer | Базовый слой | undefined |
layers | Включенные по умолчанию слои | [ ] |
Управление картой
Методы
Метод | Описание | Пример использования |
---|---|---|
zoom() | возвращает zoom карты |
|
setZoom (zoom) | Устанавливает zoom, параметр zoom — числовое значение |
|
zoomIn() | Увеличивает zoom на единицу(приближает карту) |
|
zoomOut() | Уменьшает zoom на единицу(отдаляет карту) |
|
panBy (point) | Сдвигает карту на координаты точки. Параметр point – экземпляр класса GeoPortal.Point |
|
center() | возвращает центр карты |
|
setCenter (lon,lat) | Устанавливает центр карты |
|
setView (lon,lat,zoom) | Устанавливает положение карты с центром в точке (lon,lat) и уровнем масштаба zoom |
|
bounds() | возвращает текущий bbox |
|
fitBounds (minLon, minLat ,maxLon ,maxLat) | устанавливает bbox |
|
fitBounds (latLngBounds) | Устанавливает bbox, параметр latLngBounds является экземпляром класса GeoPortal.LatLngBounds. |
|
Управление слоями
Методы
Метод | Описание | Пример использования |
---|---|---|
baseLayer() | Возвращает текущий базовый слой, экземпляр класса GeoPortal.BaseLayer |
|
setBaseLayer(baseLayer) | Установить базовый слой и добавить его на карту, параметр baseLayer экземпляр класса GeoPortal.BaseLayer |
|
layers() | возвращает массив добавленных слоев |
|
addLayer (layer) | Добавляет слой на карту, параметр layer — экземпляр GeoPortal.Layer |
|
removeLayer(layer) | Удаляет слой с карты, параметр layer — экземпляр GeoPortal.Layer |
|
Управление графическими элементами
Методы
Метод | Описание | Пример использования |
---|---|---|
addControl(control) | Добавляет control на карту, параметр control – экземпляр класса GeoPortal.Control. |
|
removeControl(control) | Удаляет control, параметр control – экземпляр класса GeoPortal.Control. |
|
Запросы
Методы
Метод | Описание |
---|---|
featuresWithin(latLngBounds, callback,callErrorBack) | получение свойств слоев (feautures) по bbox.
входящие параметры: |
События
var map = new GeoPortal.Map();
map.on(“zoomend”,function(){
console.log(map.zoom());
},this);
Событие | Описание |
---|---|
ready | событие происходит, когда карта готова к использованию. |
zoomend | событие происходит после приближения или отдаления карты. |
move | событие происходит при сдвиге карты. |
viewreset | событие происходит после перерисовки карты. |
popupclose | событие происходит после закрытия окошка сообщения на карте |
popupopen | событие происходит после открытия окошка сообщения на карте(например, после клика на точку) |
mapSerfer — API — GeoPortal
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 готово к использованию. |
|
Свойства
Свойство | Описание |
---|---|
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) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
Поиск слоя
Методы
Метод | Описание | Пример использования |
---|---|---|
findLayerById (id, callback,callErrorBack) | Поиск слоя по id. входящие параметры: id – id слоя callback(layer) – функция выполняется, если слой с данным id найден на сервере. Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.Layer. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
findLayerByName( name, callback, callErrorBack) | поиск слоев по typeName. входящие параметры: name – typeName слоя callback(layers) – функция выполняется, если найден хотя бы один слой, для которого параметр name является подстрокой у typeName. Принимает на вход один параметр: элемент — массив экземпляров класса GeoPortal.Layer, у которых typeName содержит в себе подстроку name. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
Запрос групп
Методы
Метод | Описание | Пример использования |
---|---|---|
requestGroups( withLayers, callback, callErrorBack) | Cписок доступных групп слоев. Входящие параметры: withLayers – если параметр true, то группы вернутся со слоями callback(groups) – функция выполняется при получении групп слоев с сервера. Принимает на вход один параметр — массив экземпляров класса GeoPortal.LayerGroup. callErrorBack(status,error) – функция, которая будет выполняться при ошибке во время запроса, на вход должна принимать статус и описание ошибки. |
|
Поиск группы
Методы
Метод | Описание | Пример использования |
---|---|---|
findGroupById (id, withLayers, callback, callErrorBack) | Поиск группы слоев по id. Входящие параметры: id – id группы слоев withLayers – если параметр true, то группы вернутся со слоями callback(groups) — функция выполняется при получении группы слоев с сервера. Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.LayerGroup. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
findGroupByName (name, withLayers, callback, callErrorBack) | Поиск групп слоев по имени. Входящие параметры: name – название группы слоев callback(groups) – функция выполняется, если найден хотя бы один слой, для которого параметр name является подстрокой у названия. Принимает на вход один параметр: элемент — массив экземпляров класса GeoPortal.LayerGroup, у которых название содержит в себе подстроку name. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
Авторизация
Методы
Метод | Описание | Пример использования |
---|---|---|
authenticate(login,password,callBack,callErrorBack) | Авторизация Входящие параметры: login – логин пользователя password – пароль пользователя callback(data) — функция выполняется при успешной авторизации. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
currentUser(callBack,callErrorBack) | Текущий пользователь Входящие параметры: callback(user) — функция выполняется, если получены данные о текущем пользователе. В качестве параметра получает, данные о пользователе, если пользователь не авторизован, то приходит null. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки. |
|
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
}
}
Ответ:
Статус: 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
Содержит описание ошибки