mapSurfer — javascript-интерфейс — кнопки управления
Виджеты кнопок управления
класс GP.Widget.DirectButton
Виджет кнопки управления. От этого класса наследуются классы всех кнопок управления.
Объект с опциями, который можно передавать при создании экземпляра класса:
options: {
first - boolean, элемент должен быть первым в панели
last - boolean, элемент должен быть последним панели
bindClick - boolean, слушать ли событие клика по кнопке сразу при создании виджета
}
Объект с опциями, который необходимо определить внутри виджета, который наследуется от GP.Widget.DirectButton.
mainOptions:{
buttonId: "",
title: "",
image: "",
bindClick: true - boolean, слушать ли событие клика по кнопке сразу при создании виджета. Значение по умолчанию.
}
Методы
Метод | Описание |
---|---|
_activateControl() | Активирование контрола. |
_disableControl() | Деактивирование контрола. |
класс GP.Widget.Distance
Виджет кнопки «Измерить расстояние».
Объект mainOptions, описанный в виджете
options: {
mainOptions: {
popups: true,
buttonId: "distanceButton",
title: "Измерить расстояние",
image: GP.imagesPath + "/icons/distance.png",
bindClick: true
}
Методы
Метод | Описание |
---|---|
getLine() | Возвращает линию маршрута. |
События
Событие | Описание |
---|---|
«control:distance:enable» | Виджет измерение дистанции включен. |
«control:distance:disable» | Виджет измерение дистанции выключен. |
класс GP.Widget.FeatureBBox
Виджет кнопки «Список объектов области».
Объект mainOptions, описанный в виджете
mainOptions: {
buttonId: "featureBBoxButton",
title: "Список объектов области",
image: GP.imagesPath + "/icons/bbox-search.png",
bindClick: true
}
Методы
Метод | Описание |
---|---|
requestData() | Возвращает список объектов области. |
События
Событие | Описание |
---|---|
«control:featureBBox:enable» | Виджет «Список объектов области» включен. |
класс GP.Widget.FixedLink
Виджет кнопки «Фиксированная ссылка».
Объект mainOptions, описанный в виджете
mainOptions: {
popups: true,
buttonId: "fixedLinkButton",
title: "Фиксированная ссылка",
image: GP.imagesPath + "/icons/fixedLink.png",
bindClick: true
}
класс GP.Widget.Print
Виджет кнопки «Печать карты».
Объект mainOptions, описанный в виджете
mainOptions: {
buttonId: "print",
title: "Печать карты",
image: GP.imagesPath + "/icons/print.png",
bindClick: true
}
класс GP.Widget.Reports
Виджет кнопки «Отчеты».
Объект mainOptions, описанный в виджете
mainOptions: {
buttonId: "reportsButton",
title: "Отчеты",
image: GP.imagesPath + "/icons/report.png",
bindClick: false
}
Методы
Метод | Описание |
---|---|
destroy() | Отключает контрол. |
класс GP.Widget.ZoomControl
Виджет контрола управления приближения карты.
Методы
Метод | Описание |
---|---|
draw() | Отрисовка контрола. |
События
Событие | Описание |
---|---|
«handClick» | Событие срабатывает при нажатии на иконку руки. |
Примеры
Пример класса кнопки управления для модуля.
В данном классе описан контролл, который включает/выключает определенный слой
GP.Module.Widget.MyControlButton = GP.Widget.DirectButton.extend({
mainOptions:{
buttonId: "MyControl",
title: "Кнопка управления",
image: "/public/modules/myModule/images/controlIcon.png",
bindClick: true
},
_createWidget: function(){
GP.Widget.DirectButton.prototype._createWidget.call(this);
this._layer = this.options.layer;
this._active = false;
},
_activateControl: function(){
if(!this._layer)
return;
GP.Widget.DirectButton.prototype._activateControl.call(this);
if (this._active){
this._disableControl();
} else {
/* активация действия кнопки */
this._active = true;
GP.mainMap.map.addLayer(this._layer);
}
},
_disableControl: function(){
GP.Widget.DirectButton.prototype._disableControl.call(this);
/* деактивация действия кнопки */
this._active = false;
if (this._layer != null) {
GP.mainMap.map.removeLayer(this._layer);
}
},
destroy: function() {
this._disableControl();
this._element.remove();
}
});
Добавление контрола.
GP.widgets.actions.add("myControlButton", new GP.Module.Widget.MyControlButton());
Удаление контрола.
if(typeof GP.widgets.actions != 'undefined' && GP.widgets.actions.containsKey("myControlButton")) {
GP.widgets.actions.get("myControlButton").destroy();
GP.widgets.actions.removeByKey("myControlButton");
}
// очистка контрола
// удаление
mapSurfer — javascript-интерфейс — widgetsJReports
Виджеты отчетов
класс GP.Widget.ReportButton
Виджет кнопки создания отчета.
Методы
Метод | Описание |
---|---|
display(bool) |
bool: true: показать кнопку. false: скрыть кнопку. |
События
Событие | Описание | Параметры |
---|---|---|
«buttonClick» | Перерисовалась правая панель. | button — объект кнопкиtype — тип выбранного отчета. |
класс GP.Widget.ReportsList
Виджет списка готовых отчетов.
Методы
Метод | Описание |
---|---|
close() | Прекратить ожидание готовых отчетов. |
update(reportsArray) | Обновить список отчетов. reportsArray — массив отчетов |
События
Событие | Описание |
---|---|
«reportList:update» | Обновился список отчетов. |
«reportList:allCreated» | Все отчеты созданы. |
mapSurfer — javascript-интерфейс — контроллеры
Контроллеры
класс GP.Controller
Класс, от которого наследуются все контроллеры.
Пример написания контроллера
GP.Controller.MyController = GP.Controller.extend({
initialize: function() {
GP.Controller.prototype.initialize.call(this,{});
...
}
});
// наследование от GP.Controller
// конструктор
// вызов конструктора родителя, обязательно для контроллеров
// действия контроллера
класс GP.Controller.Application
Класс контроллера приложения. Объект в системе GP.controllers.application.
События
Событие | Описание | Параметры |
---|---|---|
application:startLoad | Начало загрузки приложения. | — |
application:baseDataLoaded | Загрузились основные данные приложения. | — |
loadUser | Получены данные пользователя. | — |
loadUser | Получены данные пользователя. | — |
application:layersLoaded | Загружены слои. | groups — группы слоев:data.groups, mapExtent |
application:endCreate | Загрузка приложения завершена. | — |
application:startReload | Начало перезагрузки приложения. | — |
reloadUser | Перезагрузка данных пользователя. | — |
application:turnDefaultLayer | Включение слоя, указанного в ссылке. layerId | layerId — id слоя |
application:defaultLayerTurned | Включен слой, указанный в ссылке. | — |