Страница 1 из 1

Вопрос по OpenLayers.Control.DrawFeature

Добавлено: 17 фев 2013, 21:31
dooh007
Имеется контролл OpenLayers.Control.DrawFeature, который отвечает за рисование объектов.
При рисовании полигона, объект сохраняется соответственно по двойному щелчку.

Вопрос:

Как отловить этот двойной щелчок в конце рисования объекта и задать вопрос "Завершить рисование этого объекта да\нет". Если "да" то объект просто сохраняется, если "нет" то продолжается его рисование.

Re: Вопрос по OpenLayers.Control.DrawFeature

Добавлено: 18 фев 2013, 00:54
Sergey Astakhov
Надо перехватить событие dblclick в handler-е, который используется внутри control-а. Собсно код, который отрабатывает стандартно - метод dblclick в OpenLayers.Handler.Path. Надо либо его переопределить, либо перехватить управление до него.

Re: Вопрос по OpenLayers.Control.DrawFeature

Добавлено: 18 фев 2013, 08:39
Denis Rykov
Например, так:

Код: Выделить всё


OpenLayers.Handler.Polygon.prototype.dblclick = function(e) {
var c = confirm("You've drawn something stupid are you sure you want to finish?");
if((!this.freehandMode(e)) && (c)) {
this.finishGeometry();
}
return false;
}
ДЕМО