From 73d7c12f2f9f0324048cf7a70e4400a95c506f81 Mon Sep 17 00:00:00 2001 From: Candid Dauth Date: Wed, 14 May 2014 22:13:53 +0100 Subject: [PATCH] Added button to move marker --- frontend/js/ng.js | 22 ++++++++++++++++++++++ frontend/js/pad.js | 5 ++++- frontend/pad.html | 3 ++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/frontend/js/ng.js b/frontend/js/ng.js index c0000305..c241efb8 100644 --- a/frontend/js/ng.js +++ b/frontend/js/ng.js @@ -310,6 +310,28 @@ }) }; + $scope.moveMarker = function(marker) { + var message = $scope.showMessage("info", "Click somewhere on the map to reposition the marker there.", [ + { label: "Cancel", click: function() { + $scope.closeMessage(message); + listener.cancel(); + }} + ]); + + $scope.currentMarker = null; + + var listener = fp.addClickListener(function(pos) { + $scope.closeMessage(message); + + socket.emit("editMarker", { id: marker.id, position: pos }, function(err) { + if(err) + return $scope.showMessage("error", err); + + $scope.currentMarker = $scope.markers[marker.id]; + }); + }); + }; + $scope.deleteMarker = function(marker) { socket.emit("deleteMarker", marker, function(err) { if(err) diff --git a/frontend/js/pad.js b/frontend/js/pad.js index bb3dd4fb..1411cc8a 100644 --- a/frontend/js/pad.js +++ b/frontend/js/pad.js @@ -183,6 +183,7 @@ var FacilPad = { graphicYOffset: -25 }; var feature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(marker.position.lon, marker.position.lat).transform(_p(), fp.map.getProjectionObject()), null, style); + feature.fpMarker = marker; feature.fpOnClick = function() { fp.mapEvents.trigger("clickMarker", [ marker ]); }; @@ -254,7 +255,9 @@ var FacilPad = { listener(pos); } - fp.mapEvents.on("click", handler); + setTimeout(function() { + fp.mapEvents.on("click", handler); + }, 0); return ret; }; diff --git a/frontend/pad.html b/frontend/pad.html index a105d888..85cb69c9 100644 --- a/frontend/pad.html +++ b/frontend/pad.html @@ -78,6 +78,8 @@
+ +
× @@ -114,7 +116,6 @@
-