Archives by date

You are browsing the site archives by date.

JavaDoc

mapSurfer GS

(далее…)

mapSurfer — API — geoquery

Поиск объектов

Класс GeoPortal.GeoCoding. Осуществляет поиск объектов на карте по названию.


var geoCoding = new  GeoPortal.GeoCoding();

geoCoding.searchByText("Казань", function(features){
    console.log(features);
},
function(status,error){
    throw new Error("Error status="+status+", error text: "+error);
}

Конструктор

new GeoPortal.GeoCoding();

Методы

Метод Возвращает Описание
searchByText(<String> text,<function> callback, <function>callErrorBack) this Осуществляет поиск объектов по входящей строке.
Если объекты найдены, функции callback передается массив, состоящий из экземпляров класса GeoPortal.Feature.
Если объекты найдены или произошла ошибка, функции callback передается статус ошибки и текст.

mapSurfer — API — layers

FeatureGroup

Используется для группировки векторных слоев в один слой. Наследуется от GeoPortal.Layer.LayerGroup


var features = new GeoPortal.Layer.FeaturGroup();
for (var i=0;i<10;i++) {
    features.addLayer(new GeoPortal.Vector.PolyLine([new GeoPortal.LatLng(55,49), new GeoPortal.LatLng(55.1, 49.1)]))
}

features.on("click", function(e) {
    console.log(e);
})

map.addLayer(features);

Конструктор

new GeoPortal.Layer.FeaturGroup(?<Array Layer> layers)

Методы

Метод Возвращает Описание
bindPopup(<String> content) this Создать Popup ко всем объектам в группе и прикрепить к ним текст
setStyle(<Polyline options> style) this Устанавливает стиль отображения всем объектам в группе

События

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

LayerGroup

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


var layer = new GeoPortal.Layer.LayerGroup();
for (var i=0;i<10;i++) {
    layer.addLayer(new GeoPortal.Marker(new GeoPortal.LatLng(55+i,49))
}
map.addLayer(layer);

Конструктор

new GeoPortal.Layer.LayerGroup(?<Array Layer> layers)

Методы

Метод Возвращает Описание
addLayer( <Layer> layer) this Добавить слой к группе
removeLayer( <Layer> layer) this Удалить слой из группы
clearLayers() this Удалить все слои
invoke( <String> methodName) this Выполнить метод с названием methodName у всех слоев

WMS

Используется для подключения wms слоев на карту


var layer = new GeoPortal.Layer.WMS("http://host/path", {
        layers: 'testlayername',
        styles: 'testlayerstyle',
        format: 'image/png',
        transparent: true
    });

map.addLayer(layer);

Конструктор

new GeoPortal.Layer.WMS(<String> url, <WMS options> options)

Свойства

Свойство Тип По умолчанию Параметр запроса
service String ‘WMS’ тип сервиса
request String ‘GetMap’ тип запроса
version String ‘1.1.1’ версия протокола
layers String » список слоев (пишется через запятую)
styles String » список стилей (пишется через запятую)
format String ‘image/jpeg’ формат отображения слоя
transparent Boolean false получать слой с прозрачностью

Методы

Метод Возвращает Описание
setOpacity(<Number> opacity) void Установить прозрачность слою

События

Событие Данные Описание
load Event Происходит, когда все тайлы слоя загружены
tileunload Event Происходит, когда тайл слоя выгружен
tileload Event Происходит, когда тайл слоя загружен

WFS

Используется для подключения слоя по протоколу WFS

GeoJSON

Используется для создания векторного слоя из объектов типа GeoJSON. Наследуется от GeoPortal.Layer.FeatureGroup


var layer = new GeoPortal.Layer.GeoJSON(
    {
        type: 'Point',
        coordinates: [55,49]
    }

);

map.addLayer(layer);

Конструктор

new GeoPortal.Layer.GeoJSON(<Object GeoJSON> geojson)

Методы

Метод Возвращает Описание
addGeoJSON(<Object GeoJSON> geojson, options) void Добавляет geojson объекты к слою.
Параметр options не обязателен и должен соответствовать опциям передаваемой геометрии.

События

Событие Данные Описание
featureparse Event Происходит при добавлении нового объекта к слою

JsonLatLng

Используется для подключения слоя, состоящего из объектов, подгружаемых через Ajax запрос. С возможностью применения кластеризации


var layer = new GeoPortal.Layer.JsonLatLng("http://host/path", {
    icon: new GeoPortal.Icon();
    fieldLng: "lon",
    fieldLat: "lat",
    object: "points"
});

map.addLayer(layer);

Конструктор

new GeoPortal.Layer.JsonLatLng(<String> url, <JsonLatLng options> options);

Свойства

Свойство Тип По умолчанию Описание
icon GeoPortal.Icon new GeoPortal.Icon() Иконка для отображения объектов на карте
clusterIconClass GeoPortal.Icon new GeoPortal.Icon() Иконка для отображения кластеров объектов на карте
fieldLng String ‘lng’ Поле объекта, содержащее долготу
fieldLat String ‘lat’ Поле объекта, содержащее широту
object String undefined Поле объекта, содержащее массив объектов
cluster Boolean true Применять кластеризацию к объектам
radius Number 100 Радиус в пикселях для кластеризации объектов
maxZoomChange Number 2 Через сколько зумов делать пересчет
maxZoomLevel Number 14 До какого зума применять кластеризацию
singleClusters Boolean false Кластеризовать одиночные объекты

Методы

Метод Возвращает Описание
clear() void Очищает слой
reload() void Перезагружает слой
setRadius(<Number> radius) this Установить новый радиус для кластеризации
disableClustering() Boolean Отключить кластеризацию
enableClustering() this Включить кластеризацию

События

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

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 событие происходит после открытия окошка сообщения на карте(например, после клика на точку)