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 | Включен слой, указанный в ссылке. | — |
