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) – функция выполняется, если границы слоя получены с сервера. Принимает на вход один параметр – объект, имеющий структуру: 
            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 | событие происходит после открытия окошка сообщения на карте(например, после клика на точку) | 
