mapSurfer — javascript-интерфейс — leftPanelWidgets
Виджеты левой панели
Объект GP.Widget.LeftPanelFactory
Объект для управления левыми панелями.
Методы
Метод | Описание | Параметры |
---|---|---|
register(xtype, panelClass) | Регистрация класса левой панели. | xtype — строка, определяющая левую панель. panelClass — класс левой панели. |
createPanel(xtype,options,mainElement,owner) | Создание левой панели. При выполнении этого метода будет закрыта предыдущая левая панели и открыта новая, либо выполнится метод reload у действующей левой панели. |
xtype — строка, определяющая левую панель. options — опции левой панели. mainElement — DOM елемент, в который будет помещена левая панель owner — контекст в котором создана левая панель. |
destroyPanel() | Закрытие левой панели | — |
currentPanel() | Возвращает текущую левую панель. | — |
класс GP.Widget.LeftPanel
Основной класс левой панели.
Объект options, передается в конструктор при создании элемента класса.
options: {
dustObject
template
}
Методы
Метод | Описание |
---|---|
reload(template,dustObject) | Перерисовка левой панели. Необходимо использовать, если ранее левую панель занимал экземпляр этого же класса. |
destroy() | Закрытие левой панели |
Методы, которые можно переопределять в виджетах, которые наследуются от левой панели.
Метод | Описание | параметры |
---|---|---|
_dustRender(out) | Добавление содержимого в панель. | out — объект, содержащий в себе html, построенный по переданным template и dustObject. |
_createContent() | В этой функции по умолчанию происходит формирование html содержимого из template и dustObject и передача его в метод _dustRender. | — |
_featureClick(event) | Данная функция вызывается при стандартных функциях _createContent и _dustRender и переданном шаблоне «features» для каждого объекта {title}. | — |
События
Событие | Описание | Параметры |
---|---|---|
«leftPanel:destroy» | Закрытие левой панели. | widget — виджет панели |
класс GP.Widget.LayerInfoBox
Виджет левой панели с информацией о слое. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «layerInfoBox». Методы наследуются от GP.Widget.LeftPanel.
options: {
dustObject
template
owner
}
Методы
Метод | Описание |
---|---|
reload(template,dustObject,currentLayer) | Перерисовка левой панели. Необходимо использовать, если ранее левую панель занимал экземпляр этого же класса. |
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон | Структура | Описание |
---|---|---|
«layerInfo» |
|
Шаблон для создания левой панели с информацией по слою. |
класс GP.Widget.ReportsBox
Виджет левой панели с отчетами. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «reportsBox». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон | Структура | Описание |
---|---|---|
«reportForm» |
|
Шаблон для создания левой панели с отчетами. |
класс GP.Widget.LayerFeaturesBox
Виджет левой панели с объектами слоя. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «featureBox». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон | Структура | Описание |
---|---|---|
«wmsFeatures» |
|
Шаблон для списка объектов карты. |
Методы
Метод | Описание |
---|---|
reload(template,dustObject,firstElementId,findEisForFirstElement) | Перерисовка левой панели. Необходимо использовать, если ранее левую панель занимал экземпляр этого же класса. |
События
Событие | Описание | Параметры |
---|---|---|
«leftPanel:currentFeatureLayer» | Слой текущего объекта. | layer — слой |
класс GP.Widget.FixedLinkBox
Виджет левой панели для создания фиксированной ссылки. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «fixedLink». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон | Структура | Описание |
---|
класс GP.Widget.GeoCodingFeaturesBox
Виджет левой панели для геокодинга. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «geoCoding». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон | Структура | Описание |
---|---|---|
«features» |
|
Шаблон для создания простого списка отображения объектов карты. |
mapSurfer — javascript-интерфейс — stores
Хранилище данных
класс GP.Store
Классы, которые наследуются от данного используются в качестве моделей данных.
Методы
Метод | Описание |
---|---|
isReady() | возвращает Boolean, если true – Store готов для использования |
setReady() | устанавливает Store в режим готовности и создает событие “ready” |
getById(id) | получить элемент по id |
reload() | очищает Store |
reloadObj(newObj) | очищает Store и делает loadObject(newObj) |
loadObject(object) | если object – массив, то добавляет весь массив в store, если элемент, то добавляет этот элемент в store. |
setById(id,newObject) | записать в элемент с указанным id элемент newObject |
getFirst() | получить первый элемент |
add (StoreObj, noFireEvent) | Если параметр noFireEvent будет равен true, то не будет создаваться событие “insert” |
addObj(object, noFireEvent) | Добавление элемента (object) в store. Если параметр noFireEvent будет равен true, то не будет создаваться событие “insert” |
each (callback, ctx) | callback(element) – функция которая должна принимать один аргумент – элемент store и которая будет выполняться для каждого элемента store. ctx – контекст для выполнения функции callback |
length() | возвращает количество элементов |
onReady(callback, ctx) | если Store в состоянии ready, то выполнить функцию callback в контексте ctx, иначе выполнить функцию тогда, когда Store перейдет в состояние ready один раз вне зависимости от количества выполнения функции onReady. |
remove(id) | удалить элемент по id |
where (field, value) | возвращает новый Store, во всех элементы которого поле field равняется value |
find (field, value) | возвращает один элемент из store, в поле field равняется value |
sort(field, descending) | сортирует по полю field, если descending == true сортирует в обратном порядке |
getIdsArray() | возвращает массив, содержащий id всех элементов store |
События
Событие | Параметры | Описание |
---|---|---|
«ready» | store | store готов к использованию |
«objectUpdate» | objectId — id измененного объекта | Изменен элемент стора. |
«insert» | model — добавленный элемент | В стор добавлен элемент. |
класс GP.Store.BaseLayer
Хранилице данных для базовых слоев. Все методы унаследованы от GP.Store.
класс GP.Store.Eis
Хранилице данных для медиа. Все методы унаследованы от GP.Store.
класс GP.Store.Events
Хранилице данных для событий. Все методы унаследованы от GP.Store.
класс GP.Store.Features
Хранилице данных для feature слоя. Все методы унаследованы от GP.Store.
класс GP.Store.JReports
Хранилице данных для отчетов. Все методы унаследованы от GP.Store.
класс GP.Store.Layers
Хранилице данных для слоя на карте. Методы унаследованы от GP.Store, помимо этого присутствуют свои:
класс GP.Store.LayerGroups
Хранилице данных для групп слоев. Методы унаследованы от GP.Store.
класс GP.Store.Reports
Хранилице данных для отчетов. Методы унаследованы от GP.Store.
класс GP.Store.Tabs
Хранилице данных для вкладок правой панели. Методы унаследованы от GP.Store.
GlobalMap — API — Bookmarks
Работа с метками
Класс «BookmarkLayer»
Свойства
Свойство | Тип | Описание |
---|---|---|
name | String | Название |
header | String | Заголовок |
inited | bool | Активирован ли слой |
Добавить новую метку на слой
Метод
Метод | Возвращает | Описание |
---|---|---|
addBookmark(Bookmark*) | bool | Добавить новую метку на слой |
Удалить метку со слоя
Метод
Метод | Возвращает | Описание |
---|---|---|
deleteBookmark(Bookmark*) | bool | Удалить метку со слоя |
Получить метку
Методы
Метод | Возвращает | Описание |
---|---|---|
getById(int) | Bookmark* | Получить метку по ее ID |
getByNum(int) | Bookmark*(int) | Получить метку по ее номеру |
Количество меток на слое
Метод
Метод | Возвращает | Описание |
---|---|---|
count() | int | Количество меток на слое |
Очистить слой от всех меток
Метод
Метод | Возвращает | Описание |
---|---|---|
сlear() | bool | Очистить слой от всех меток |
Создание новой метки
Метод
Метод | Возвращает | Описание |
---|---|---|
gm.factory.newBookmark() | Bookmark* | Создание новой метки |
mapSurfer — javascript-интерфейс — models
Модели
класс GP.Model
Классы, которые наследуются от данного используются в качестве моделей данных.
Методы
Метод | Описание |
---|---|
pkField() | возвращает название поля primary key модели |
id() | возвращает значение поля primary key модели |
field (name) | возвращает поле, у которого название равно name |
get (name) | возвращает значение поля, у которого название равно name |
set (name, value) | установить полю name значение value |
isNull (name,type) | если поле name пусто или не является типом type то вернется true |
validateField () | евалидация полей |
класс GeoPortal.Model.BaseLayer
Модель для базовых слоев. Все методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | string | primary key базового слоя |
name | string | Название |
className | function | Класс |
type | string | Тип |
класс GeoPortal.Model.Eis
Модель для медиа. Все методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | string | primary key |
url | string | Url |
fileName | string | Имя файла |
type | object | Тип |
класс GeoPortal.Model.Event
Модель для событий. Все методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | integer | primary key |
info | string | информация |
eventId | integer | primary key события |
dataFrom | integer | |
dataTill | integer |
класс GeoPortal.Model.Feature
Модель для feature слоя. Все методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | string | primary key |
title | string | название |
geomFieldName | string | Название поля с геометрией |
data | object | Данные |
groupData | object | Данные о группе |
eisStore | object | Store eis |
класс GeoPortal.Model.JReport
Модель для отчетов. Все методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
name | string | Название |
link | string | Ссылка |
status | int | Статус |
expire | int | Время жизни |
format | string | Формат |
layerId | string | id слоя |
класс GeoPortal.Model.Layer
Модель для слоя на карте. Методы унаследованы от GP.Model, помимо этого присутствуют свои:
Методы
Метод | возвращает | Описание |
---|---|---|
isFullLoaded | true или false | Полностью ли загружен слой |
isDownloading | true или false | Загружается ли слой |
downloadData | — | Загрузить слой |
getTitleFields | названия полей у объектов карты | |
featureTitle(properties) | названия полей у объектов карты с html тегами, если они существуют в параметре properties и модели слоя |
параметр properties — массив названий полей объектов карты |
featureData(properties) | Поля у объектов карты, содержащие дату. Дата возвращается с html тегами, преобразованная в формат DD.MM.YYYY hh:mm:ss. Если поля существуют в параметре properties и модели слоя |
параметр properties — массив названий полей объектов карты |
createMapLayer | — | создать слой для карты из мадели |
getMapLayer | слой для карты | получить слой для карты из мадели |
Поля
Название поля | тип | Описание |
---|---|---|
id | integer | primary key |
name | string | Название |
enabled | boolean | Включен ли |
info | object | Информация о слое |
groupId | integer | Id группы |
order | integer | Порядковый номер в группе |
fields | object | Атрибуты |
isKosmosnimok | boolean | Является ли космоснимком |
mapLayer | object | Объект слоя |
bbox | object | Bounding box |
События
Событие | Описание | параметры |
---|---|---|
«model:layer:reload» | Происходит при перезагрузке данных слоя | layer — файл слоя |
класс GeoPortal.Model.LayerGroup
Модель для группы слоев. Методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | integer | primary key |
name | string | Название |
order | integer | Порядковый номер группы |
layers | array | Слои группы |
класс GeoPortal.Model.MapExtent
Модель для границы карты (MapExtent). Методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | integer | primary key |
name | string | Название |
extent | object | Граница |
projection | string | Проекция |
класс GeoPortal.Model.Report
Модель для отчета. Методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | integer | primary key |
name | string | Название |
parameters | object | Параметры |
класс GeoPortal.Model.Tab
Модель для вкладок правой панели. Методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | string | primary key |
name | string | Название |
image | string | Иконка |
imageWhite | string | Белая иконка |
divId | string | Id div |
класс GeoPortal.Model.User
Модель для пользователя. Методы унаследованы от GP.Model.
Поля
Название поля | тип | Описание |
---|---|---|
id | integer | primary key |
name | string | Название |
right | object | Права |
mapExtent | object | Граница карты |
mapSurfer — javascript-интерфейс — widgets
Виджеты
класс GP.Widget
Класс, от которого наследуются все виджеты.
Параметры, которые можно указать при создании экземпляра любого виджета, класс которого наследуется от GP.Widget.
options
mainElement
// объект опций для виджета, доступен в свойстве options
// id DOM елемента или объект jQuery, доступен в свойстве _mainElement
Пример написания виджета
GP.Widget.MyWidget = GP.Widget.extend({
_createWidget: function(){
...
}
});
// наследование от GP.Widget
// конструктор
// действия виджета
Методы
Метод | Описание | Параметры |
---|---|---|
findElem(selector) | Поиск DOM элементов внутри виджета с помощью jQuery. | selector — jQuery селектор |
_bind(elem,event,data,fn) | Выполнить функцию при срабатываниисобытия у элемента | elem — элемент event — событие элемента data — параметры для функции fn — функция |
_onResize() | Функция выполняется при изменении размеров окна. в своем виджете эту функцию можно переопределить. | — |
объект GP.widgets.ajaxLoader
Виджет для блокировки экрана. Отображается во время загрузки.
Методы
Метод | Возвращает | Описание |
---|---|---|
show() | — | затемнить экран |
showLoader() | — | затемнить экран и показать песочные часы |
close() | — | выключить виджет |
Объект GP.widgets.alert
Виджет, показывающий стилизованное системное сообщение.
Методы
Метод | Описание | Параметры |
---|---|---|
show() | показать сообщение | — |
setStatus(status) | установить статус сообщения |
status: 200 - "действие выполнено" 403 - "Доступ ограничен" 404 - "Не найдено" по умолчанию "ошибка" |
setText(text) | становить текст сообщения | text — текст сообщения |
События
Объект GP.widgets.authenticationВиджет авторизации.МетодыСобытияОбъект GP.widgets.baseLayerSelectorВиджет для выбора базового слоя.МетодыСобытияОбъект GP.widgets.curtainLayerВиджет шторки. Шторка автоматически убирается, если слой перестает быть активным или убирается левая панель.МетодыАктивирование шторки.Для слоя mapLayer.
if(GP.widgets.curtainLayer && mapLayer
&& GP.widgets.curtainLayer.getLayer() != mapLayer )
GP.widgets.curtainLayer.setLayer(mapLayer);
GP.widgets.curtainLayer.switchCurtain();
// установка слоя шторке
// переключение шторки
Деактивирование шторки.
GP.widgets.curtainLayer.hide();
класс GP.Widget.DialogBoxВиджет диалогового окна.
var myDialogBox = new GP.Widget.DialogBox(
{
dialogBoxId:"myDialogBoxId",
width:110,
top:87,
left:106
},
"#wrap");
// создание диалогового окна
// пример опций(options)
// id DOM елемента окна
// ширина окна
// отступ сверху
// отступ слева
// id елемента, в который необходимо поместить окно
МетодыСобытиякласс GP.Widget.ButtonВиджет кнопки.Пример использования кнопки
GP.widgets.myButton = new GP.Widget.Button({buttonId:"muButtonId"});
GP.widgets.myButton.on(
"buttonClick",
this.click,
this);
// создание кнопки. buttonId - id элемента кнопки
// слушание события нажатия кнопки
// событие
// функция, которую необходимо выполнить при нажатии
// контекст, в котором необходимо выполнить функцию
МетодыСобытиякласс GP.Widget.GeoCodingВиджет для поиска объектов на карте по строке.Опции объекта
options:{
label: '',
title: '',
items: [
{
label: '',
initial: false
}
],
onClick: function () {
}
}
класс GP.Widget.SelectableButtonВиджет кнопки с выплывающим меню.класс GP.Widget.UserPanelВиджет верхней панели с авторизацией.
Событие | Параметры | Описание |
---|---|---|
«closeAlert» | alert — объект сообщения | Сообщение закрыто. |
Метод | Описание | Параметры |
show() | показать виджет авторизации | — |
hide() | скрыть | — |
remove() | удалить виджет авторизации | — |
Событие | Параметры | Описание |
«authenticationSuccess» | user — данные пользователя | Пользователь прошел авторизацию |
Метод | Описание | Параметры |
currentBaseLayer() | возвращает текущий базовый слой | — |
Событие | Параметры | Описание |
«changeBaseLayer» | baseLayer — объект базового слоя | Выбран новый базовый слой |
Метод | Описание | возвращает |
isShow() | активность виджета | возвращает true или false, активна ли шторка |
curtainOn() | показать шторку | — |
curtainOff() | выключить шторку | — |
switchCurtain() | включить/выключить шторку | — |
getLayer() | — | слой, для которого включена шторка |
setLayer() | установить слой для шторки | — |
hide() | убрать шторку | — |
Метод | Описание | возвращает |
close() | закрыть | — |
clear() | очистить содержимое | — |
isReady() | готовность dialogBox | возвращает true|false |
show() | показать dialogBox | — |
isShow() | показывается ли dialogBox | возвращает true|false |
setTitle(title) | устанавливает заголовок dialogBox | — |
setContainer(container) | устанавливает содержимое dialogBox | — |
width(width) | устанавливает ширину dialogBox | — |
top(top) | устанавливает отступ сверху dialogBox | — |
left(left) | устанавливает отступ слева dialogBox | — |
remove() | удаляет dialogBox | — |
Событие | Параметры | Описание |
«readyDialog» | dialog — объект диалогового окна | Диалоговое окно готово к использованию. |
«closeDialog» | dialog — объект диалогового окна | Диалоговое окно закрыто. |
Метод | Описание | |
display(bool) |
bool: true - показать кнопку false - скрыть кнопку |
|
Событие | Описание | Параметры |
«buttonClick» | Возникает при клике на кнопку | button — объект кнопки |
mapSurfer — javascript-интерфейс — map
Карта
Map
класс GP.Widget.Map
Виджет карты. Объект в системе GP.mainMap
Методы
Метод | Описание | Возвращает | Параметры |
---|---|---|---|
setMarker(lon,lat) | Установить маркер на карту, удаляя имеющиюся точку или маркер | — |
lon - долгота lat - широта |
setPoint(lon,lat,zoom,html) | Установить уточку на карту и переходит к этой точке, удаляя имеющиюся точку или маркер | объект точки |
lon - долгота lat - широта zoom - увеличение с которым нужно переходить к точке (целое число, по умолчанию 12) html - текст над точкой |
getCenter() | Возвращает центр показываемой карты | координаты центра карты | — |
getTurnedLayerId(type) | Возвращает массив id слоев, включенных на карте | массив id слоев |
type: wms - функция возвращает id только wms слоев wfs - функция возвращает id только wfs слоев undefined - функция возвращает id всех включенных слоев |
getPoint() | Возвращает точку или маркер с карты | объект точки | — |
isLayerTurned(layerId) | Проверяет, включен ли слой на карте | true или false |
layerId - id слоя |
setBBox(minLon,minLat,maxLon,maxLat,projection) | Перейти к определенному участку карты, установив boundary box | — |
minLon - минимальная долгота minLat - минимальная широта maxLon - максимальная долгота maxLat - максимальная широта projection - проекция координат, по умолчанию EPSG:4326 |
setBaseLayer(baseLayer) | установить базовый слой | — |
baseLayer - базовый слой |
setView(lon,lat,zoom) | перейти к определенному участку карты | — |
lon - долгота lat - широта zoom - приближение, целое число |
offLayer(layerId) | выключить слой | — |
layerId - id слоя |
turnLayer(layerId,mapLayer,service) | включить слой на карту | — |
layerId - id слоя mapLayer - слой (объект) service - wms или wfs |
setFullScreen() | развернуть карту на весь экран | — | — |
addLine(latLngs) | добавить линию на карту | — |
latLngs - массив объектов в формате {lat : 55, lng:49} |
События
Событие | Описание |
---|---|
«map:wmsLayersClicked» | Произошел клик по карте при хотя бы одном включенном wms слое |
объект GP.widgets.rectangle
Виджет для выделения области карты.
Методы
Метод | Описание | Параметры |
---|---|---|
create(fnc, options) | Начать выделять область. | fnc — функция, которая будет выполняться после выделения области пользователем. (пример ниже) options — опции выделения. (описание ниже) |
disable() | Убрать выделение. | — |
Описание опций
Описанные опции совподают с опциями по умолчанию.
options: {
shapeOptions: {
stroke: true,
color: '#f06eaa',
weight: 4,
opacity: 0.5,
fill: true,
fillColor: null, //same as color by default
fillOpacity: 0.2,
clickable: true
},
initialLabelText: 'Нажмите и потяните для выделения области',
releaseLabelText: 'Отпустите для получения запроса'
}
// опции прямоугольника выделителя
// если true - с рамкой, false - сплошной прямоугольник
// цвет рамки
// ширина рамки
// прозрачность рамки
// наличие заливки
// цвет заливки (null - совпадает с цветом рамки)
// прозрачность заливки
// если true - отображается кликабельным
// надпись подсказка перед началом выделения
// надпись подсказка во время выделения
Пример передаваемой функции.
M.Util.bind(
function(data){
...
if(!data.created
|| !data.clickData)
return;
var latLngs = data.clickData.rect.latLngs(),
clickData = {};
/*
Оставление полигона на карте после выделения
*/
this._polygon = data.clickData.rect;
GP.mainMap.map.addLayer(this._polygon);
...
},
,this)
// оборачивание для использования функции в определенном контексте
// действия, которые должны происходить даже в случае неудачного выделения
// true, если область успешно выделилась
// данные выделения
// координаты выделенной области
// объект полигона
// добавление на карту
// контекст выполнения функции
GP.mainMap.map
Внутренний объект карты.
Методы
Метод | Описание | Параметры |
---|---|---|
zoomIn() | Приблизить карту | — |
zoomOut() | Отдалить карту. | — |
setZoom(zoom) | установить zoom | zoom — целое число |
center() | Возвращает центр карты, экземпляр класса M.LatLng | — |
container() | Возвращает DOM объект контейнера карты | — |
size() | возвращает размер экрана | — |
setView(center, zoom) | установить центр и zoom карты | center — экземпляр класса M.LatLng(lat,lng)zoom — целое число |
removeLayer(layer) | удалить слой с карты | layer — объект слоя |
M.LatLng
Класс, экземпляры которого содержащий долготу и широту.
Конструкторы
Конструктор | Параметры |
---|---|
new M.LatLng(lat,lng) | lat — широтаlng — долгота |
M.GeoJSON
Статичный класс для обработки геометрии в формате GeoJSON.
Методы
Метод | Параметры | Описание |
---|---|---|
geometryToLayer(geometry, pointToLayer) | geometry — геометрия в формате GeoJSONpointToLayer — boolean, если true и геометрия является точкой — возвращает слой, иначе объект M.Marker | возвращает объект слоя. |
M.TileLayer.WMS
Класс wms слоя, экземпляр этого класса можно добавлять на карту.
Конструкторы
Конструктор |
---|
new M.TileLayer.WMS( requestUrl, // url запроса { // wms параметры слоя layers: typeName, // typeName слоя styles: style, // style слоя format: 'image/png', // формат отдачи данных, по умолчанию image/jpeg transparent: true // прозрачность }) |
M.WFS
Класс WFS слоя, экземпляр этого класса можно добавлять на карту.
Конструкторы
Конструктор |
---|
mapLayer = new M.WFS( requestUrl, //Url запроса typeName, //typeName слоя styleUrl, //путь к .sld файлу стиля undefined, //формат отдачи данных, по умолчанию application/json wfsOptions //wfs опции запроса ); |
GlobalMap — API — Layers
Работа со слоями
Класс «Layer»
Свойства
Свойство | Тип | Описание |
---|---|---|
name | String | Имя слоя |
visible | bool | Видимость |
ready | bool | Готовность слоя к работе |
position | int | Позиция слоя относительно других слоев |
bbox | Bbox* | BoundaryBox слоя |
externalID | int | Внешний ID слоя |
Взлететь над слоем
Метод
Метод | Возвращает | Описание |
---|---|---|
flyUp(int) | bool | Взлететь над слоем |
Переместить слой в списке слоев
Методы
Метод | Возвращает | Описание |
---|---|---|
moveUp(int) | bool | Переместить слой вверх в списке слоев на указанное число позиций(по умолчанию 1) |
moveDown(int) | bool | Переместить слой вниз в списке слоев на указанное число позиций(по умолчанию 1) |
Создание слоя
Методы
Метод | Возвращает | Описание |
---|---|---|
gm.factory.newWMSLayer() | WMSLayer* | Создание WMS слоя |
gm.factory.newTMSLayer() | TMSLayer* | Создание TMS слоя |
gm.factory.newWFSLayer() | WFSLayer* | Создание WFS слоя |
gm.factory.newVectorLayer() | VectorLayer* | Создание векторного слоя |
Получить слой
Методы
Метод | Возвращает | Описание |
---|---|---|
gm.getLayer(String) | Layer* | Получить слой по его названию |
gm.getLayerByNum(int, int) | Layer* | Получить слой по его номеру |
Уничтожить слой
Метод
Метод | Возвращает | Описание |
---|---|---|
gm.destroyLayer(Layer *) | bool | Уничтожить слой |
mapAdmin — введение
REST запросы — запросы вида http://server.name/rest/*
Все данные отправляются и приходят в формате Json
Формат ответа при возникновении ошибки:
{
"res": 0,
"resText":
}
// текст ошибки
Для получения данных необходимо в каждом запросе использовать один из нижеприведенных вариантов:
- отсылать в качестве GET — параметра token, полученный при авторизации
http://server.name/rest/*?token={Token}
- отсылать в заголовки запроса cookie, полученные при прохождении авторизации
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 | Происходит, когда курсор мыши покидает зону объекта на карте |