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

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
dooh007
Интересующийся
Сообщения: 24
Зарегистрирован: 22 июл 2011, 09:50
Репутация: 2
Контактная информация:

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

Сообщение dooh007 »

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

Вопрос:

Как отловить этот двойной щелчок в конце рисования объекта и задать вопрос "Завершить рисование этого объекта да\нет". Если "да" то объект просто сохраняется, если "нет" то продолжается его рисование.
Sergey Astakhov
Активный участник
Сообщения: 218
Зарегистрирован: 21 дек 2012, 01:57
Репутация: 52
Откуда: Питер

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

Сообщение Sergey Astakhov »

Надо перехватить событие dblclick в handler-е, который используется внутри control-а. Собсно код, который отрабатывает стандартно - метод dblclick в OpenLayers.Handler.Path. Надо либо его переопределить, либо перехватить управление до него.
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

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

Сообщение 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;
}
ДЕМО
Spatial is now, more than ever, just another column- The Geometry Column.
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя