Виджеты кнопок управления
класс 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");
}
// очистка контрола
// удаление