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.
This commit is contained in:
Tom Hughes 2015-02-26 14:06:25 +00:00
parent 7bf86b7c4e
commit 4b2c64fbed

View file

@ -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 = $("<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();