From: Tom Hughes Date: Thu, 26 Feb 2015 14:06:25 +0000 (+0000) Subject: Set an explicit image when dragging from the routing panel X-Git-Tag: live~4188 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/4b2c64fbed7ed3420e10d1f1a7eaef26f0e4e025 Set an explicit image when dragging from the routing panel This may help with #912 but at the very least it gives us a full size image consistent with dragging marker that is already on the map. --- diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index 82c4d6456..6149228ec 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -302,10 +302,8 @@ OSM.Directions = function (map) { $(".routing_marker").on('dragstart', function (e) { e.originalEvent.dataTransfer.effectAllowed = 'move'; e.originalEvent.dataTransfer.setData('id', this.id); - var xo = e.originalEvent.clientX - $(e.target).offset().left; - var yo = e.originalEvent.clientY - $(e.target).offset().top; - e.originalEvent.dataTransfer.setData('offsetX', e.originalEvent.target.width / 2 - xo); - e.originalEvent.dataTransfer.setData('offsetY', e.originalEvent.target.height - yo); + var img = $("").attr("src", $(e.originalEvent.target).attr("src")); + e.originalEvent.dataTransfer.setDragImage(img.get(0), 12, 21); }); var page = {}; @@ -323,8 +321,7 @@ OSM.Directions = function (map) { var oe = e.originalEvent; var id = oe.dataTransfer.getData('id'); var pt = L.DomEvent.getMousePosition(oe, map.getContainer()); // co-ordinates of the mouse pointer at present - pt.x += Number(oe.dataTransfer.getData('offsetX')); - pt.y += Number(oe.dataTransfer.getData('offsetY')); + pt.y += 20; var ll = map.containerPointToLatLng(pt); endpoints[id === 'marker_from' ? 0 : 1].setLatLng(ll); getRoute();