X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/05caad1a5dfbdf892f4b46b0916a4f6b1de4d2e3..62346c7e88901df3ca21afc142cab00f6fb6ae38:/app/assets/javascripts/index/directions.js diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js index a8615d3eb..2a1e045da 100644 --- a/app/assets/javascripts/index/directions.js +++ b/app/assets/javascripts/index/directions.js @@ -189,7 +189,7 @@ OSM.Directions = function (map) { map.removeLayer(polyline); if (!dragging) { - alert(I18n.t('javascripts.directions.errors.no_route')); + $('#sidebar_content').html('

' + I18n.t('javascripts.directions.errors.no_route') + '

'); } return; @@ -302,10 +302,14 @@ OSM.Directions = function (map) { }); $(".routing_marker").on('dragstart', function (e) { - e.originalEvent.dataTransfer.effectAllowed = 'move'; - e.originalEvent.dataTransfer.setData('type', $(this).data('type')); - var img = $("").attr("src", $(e.originalEvent.target).attr("src")); - e.originalEvent.dataTransfer.setDragImage(img.get(0), 12, 21); + var dt = e.originalEvent.dataTransfer; + dt.effectAllowed = 'move'; + var dragData = { type: $(this).data('type') }; + dt.setData('text', JSON.stringify(dragData)); + if (dt.setDragImage) { + var img = $("").attr("src", $(e.originalEvent.target).attr("src")); + dt.setDragImage(img.get(0), 12, 21); + } }); var page = {}; @@ -321,7 +325,8 @@ OSM.Directions = function (map) { $("#map").on('drop', function (e) { e.preventDefault(); var oe = e.originalEvent; - var type = oe.dataTransfer.getData('type'); + var dragData = JSON.parse(oe.dataTransfer.getData('text')); + var type = dragData.type; var pt = L.DomEvent.getMousePosition(oe, map.getContainer()); // co-ordinates of the mouse pointer at present pt.y += 20; var ll = map.containerPointToLatLng(pt); @@ -336,13 +341,8 @@ OSM.Directions = function (map) { setEngine(params.engine); } - if (params.from) { - endpoints[0].setValue(params.from); - endpoints[1].setValue(""); - } else { - endpoints[0].setValue(""); - endpoints[1].setValue(""); - } + endpoints[0].setValue(params.from || ""); + endpoints[1].setValue(params.to || ""); var o = route[0] && L.latLng(route[0].split(',')), d = route[1] && L.latLng(route[1].split(','));