]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/routing.js.erb
Put marker at exact position user dragged it to
[rails.git] / app / assets / javascripts / routing.js.erb
index 2a10a9d5e571cd8025ea30e6cfad0160af31bef5..c774928b9346dcb11ed1474adbb08810dfdff18f 100644 (file)
@@ -115,9 +115,12 @@ OSM.Routing=function(map,name,jqSearch) {
        // Drag and drop markers
        
        r.handleDrop=function(e) {
-               var id=e.originalEvent.dataTransfer.getData('id');
-               var ll=r.map.mouseEventToLatLng(e.originalEvent);
-               // *** ^^^ this is slightly off - we need to work out the latLng of the tip
+               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'));
+               var ll=map.containerPointToLatLng(pt);
                r.createMarker(ll,id);
                r.setNumericInput(ll,id);
                r.requestRoute(true, false);
@@ -248,6 +251,9 @@ OSM.Routing=function(map,name,jqSearch) {
                                script.src = url+r.name+".gotRoute"+num;
                                document.body.appendChild(script); 
                        };
+                       list[num].requestCORS=function(url) {
+                               $.ajax({ url: url, method: "GET", data: {}, dataType: 'json', success: r['gotRoute'+num] });
+                       };
                        r['gotRoute'+num]=function(data) { 
                                r.awaitingRoute=false;
                                $(".query_wrapper.routing .spinner").hide();