Put marker at exact position user dragged it to
This commit is contained in:
parent
15904542a6
commit
9a05a7ba49
2 changed files with 9 additions and 4 deletions
|
@ -359,8 +359,10 @@ $(document).ready(function () {
|
||||||
$("#map").on('dragend dragover',function(e) { e.preventDefault(); });
|
$("#map").on('dragend dragover',function(e) { e.preventDefault(); });
|
||||||
$("#map").on('drop',function(e) { OSM.routing.handleDrop(e); e.preventDefault(); });
|
$("#map").on('drop',function(e) { OSM.routing.handleDrop(e); e.preventDefault(); });
|
||||||
$(".routing_marker").on('dragstart',function(e) {
|
$(".routing_marker").on('dragstart',function(e) {
|
||||||
e.originalEvent.dataTransfer.effectAllowed = 'move';
|
e.originalEvent.dataTransfer.effectAllowed = 'move';
|
||||||
e.originalEvent.dataTransfer.setData('id', this.id);
|
e.originalEvent.dataTransfer.setData('id', this.id);
|
||||||
|
e.originalEvent.dataTransfer.setData('offsetX', e.originalEvent.target.width/2 - (e.originalEvent.x-e.target.x));
|
||||||
|
e.originalEvent.dataTransfer.setData('offsetY', e.originalEvent.target.height - (e.originalEvent.y-e.target.y));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -115,9 +115,12 @@ OSM.Routing=function(map,name,jqSearch) {
|
||||||
// Drag and drop markers
|
// Drag and drop markers
|
||||||
|
|
||||||
r.handleDrop=function(e) {
|
r.handleDrop=function(e) {
|
||||||
var id=e.originalEvent.dataTransfer.getData('id');
|
var oe=e.originalEvent;
|
||||||
var ll=r.map.mouseEventToLatLng(e.originalEvent);
|
var id=oe.dataTransfer.getData('id');
|
||||||
// *** ^^^ this is slightly off - we need to work out the latLng of the tip
|
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'));
|
||||||
|
var ll=map.containerPointToLatLng(pt);
|
||||||
r.createMarker(ll,id);
|
r.createMarker(ll,id);
|
||||||
r.setNumericInput(ll,id);
|
r.setNumericInput(ll,id);
|
||||||
r.requestRoute(true, false);
|
r.requestRoute(true, false);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue