]> 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 d1c66e2939b6d86d98983fc584e54f1f018e2f54..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);
@@ -238,7 +241,7 @@ OSM.Routing=function(map,name,jqSearch) {
 
        // Add all engines
        var list=OSM.RoutingEngines.list;
-       list.sort(function(a,b) { return a.name>b.name; });
+       list.sort(function(a,b) { return I18n.t(a.name)>I18n.t(b.name); });
        var select=r.jqSearch.find('select.routing_engines');
        for (var i=0; i<list.length; i++) {
                // Set up JSONP callback
@@ -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();