X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/13289d404188bd397ee72852f66c415a2bb87066..3b20c8789395154df54d6500debd7ce821cf143e:/app/views/export/start.js.erb diff --git a/app/views/export/start.js.erb b/app/views/export/start.js.erb index 80e9de1d8..5a48dba25 100644 --- a/app/views/export/start.js.erb +++ b/app/views/export/start.js.erb @@ -1,5 +1,6 @@ var vectors; var box; +var transform; var markerLayer; var markerControl; @@ -20,6 +21,13 @@ function startExport() { box.handler.callbacks.done = endDrag; map.addControl(box); + transform = new OpenLayers.Control.TransformFeature(vectors, { + rotate: false, + irregular: true + }); + transform.events.register("transformcomplete", transform, transformComplete); + map.addControl(transform); + map.events.register("moveend", map, mapMoved); map.events.register("changebaselayer", map, htmlUrlChanged); @@ -104,6 +112,11 @@ function endDrag(bbox) { $("#drag_box").html("<%=j t 'export.start_rjs.manually_select' %>"); } +function transformComplete(event) { + setBounds(event.feature.geometry.bounds); + validateControls(); +} + function startMarker() { $("#add_marker").html("<%=j t 'export.start_rjs.click_add_marker' %>"); @@ -183,6 +196,7 @@ function setBounds(bounds) { } function clearBox() { + transform.deactivate(); vectors.destroyFeatures(); } @@ -190,6 +204,7 @@ function drawBox(bounds) { var feature = new OpenLayers.Feature.Vector(bounds.toGeometry()); vectors.addFeatures(feature); + transform.setFeature(feature); } function validateControls() {