X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/5b6558c0f29013e85c9c398a61872f9dad5a69c5..3ef8024b1d33f0de6227a26967ba78ef85672a94:/app/assets/javascripts/routing.js.erb?ds=sidebyside diff --git a/app/assets/javascripts/routing.js.erb b/app/assets/javascripts/routing.js.erb index d1c66e293..42373ef9d 100644 --- a/app/assets/javascripts/routing.js.erb +++ b/app/assets/javascripts/routing.js.erb @@ -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); @@ -191,7 +194,10 @@ OSM.Routing=function(map,name,jqSearch) { $('#sidebar_content').empty(); var html=('

' + '' + I18n.t('javascripts.directions.directions') + - '

').replace(/~/g,"'"); + '

' + + I18n.t('javascripts.directions.distance') + ': ' + r.formatDistance(data.distance)+ '. ' + + I18n.t('javascripts.directions.time' ) + ': ' + r.formatTime(data.time) + '.

' + + '
').replace(/~/g,"'"); $('#sidebar_content').html(html); // Add each row var cumulative=0; @@ -221,6 +227,15 @@ OSM.Routing=function(map,name,jqSearch) { r.clickTurn=function(num,latlng) { r.popup=L.popup().setLatLng(latlng).setContent("

"+(num+1)+"

").openOn(r.map); }; + r.formatDistance=function(m) { + if (m < 1000 ) { return Math.round(m) + "m"; } + else if (m < 10000) { return (m/1000.0).toFixed(1) + "km"; } + else { return Math.round(m / 1000) + "km"; } + }; + r.formatTime=function(s) { + var d=new Date(s*1000); var h=d.getHours(); var m=d.getMinutes(); + return h+":"+(m<10 ? '0' : '')+m; + }; // Close all routing UI @@ -238,7 +253,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