X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/05caad1a5dfbdf892f4b46b0916a4f6b1de4d2e3..cc65b2d126d708499edb5fb5d513266cfa33a47b:/app/assets/javascripts/index/directions.js?ds=sidebyside
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(','));