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