Как мне заставить выбор функций OpenLayers и перетаскивание Javascript работать вместе?

Я пишу приложение, которое использует OpenLayers, чтобы пользователи могли перетаскивать файлы на заранее определенный набор функций, которые отправляются на сервер. с АЯКС. Сами файлы представляют собой необработанные данные с геофизического оборудования, которые будут отображаться сервером в виде растрового слоя.

У меня есть функция перетаскивания для карты:

var mapelem = $id("map");
mapelem.addEventListener("dragover", FileDragHover, false);
mapelem.addEventListener("dragleave", FileDragHover, false);
mapelem.addEventListener("drop", FileSelectHandler, false);

И у меня есть подсветка при наведении, работающая с этим кодом:

var sf = new OpenLayers.Control.SelectFeature(boxes, {
    hover: true,
    multiple: false,
    highlightOnly: true
});
map.addControl(sf);
sf.activate();

Остальной код в основном просто Пример блоков — вектор.

Проблема заключается в том, что при перетаскивании файла на холст карты выбор OpenLayers при наведении больше не работает, и я хотел бы, чтобы пользователь получал обратную связь, чтобы убедиться, что он перетаскивает файл туда, где он его ожидает.

Я могу получить положение курсора на холсте:

map.events.register("mousemove", map, function(e) { 
    lonlat = map.getLonLatFromPixel(e.xy);
});

Таким образом, я могу выполнить тест точки в функции в этой функции, но было бы неплохо иметь возможность использовать существующую функциональность.

Можно ли каким-то образом передать сообщение о перетаскивании моему слою OpenLayers?

12
задан Danilo Valente 26 June 2012 в 01:36
поделиться