API OpenLayers позволяет добавлять маркеры и функции на карту. Если вы добавляете функции вместо маркеров, вы можете сделать их перетаскиваемыми, добавив следующий код.
var vectorLayer = new OpenLayers.Layer.Vector("Vector Layer");
var osMap = new OpenSpace.Map('map');
osMap.addLayer(vectorLayer);
var modifyFeaturesControl = new OpenLayers.Control.ModifyFeature(vectorLayer);
modifyFeaturesControl.mode = OpenLayers.Control.ModifyFeature.RESHAPE;
osMap.addControl(modifyFeaturesControl);
modifyFeaturesControl.activate();
Это позволит вам перетаскивать объекты по карте. Если вы хотите добавить пользовательское поведение при перетаскивании объектов, вы можете зарегистрировать слушателей на vectorLayer. Например, чтобы зарегистрировать слушателя при изменении функций (т. Е. Перетаскивать и отпускать), вам необходимо использовать следующий код.
vectorLayer.events.register('featuremodified', vectorLayer, function(feature) {
//custom behavior
});
Полный список событий, которые можно прослушать, можно увидеть в OpenLayers api doc OpenLayers api doc