X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ad01a61b6d07fffff3dedfd476830699c8f50038..373b932717a16e4d3aebf807739b39e4db2f83e1:/app/assets/javascripts/index.js diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 638be0dca..e5f6fe478 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -15,6 +15,7 @@ //= require index/new_note //= require router //= require routing +//= require_tree ./routing_engines (function() { var loaderTimeout; @@ -153,7 +154,7 @@ $(document).ready(function () { map._object); $.removeCookie("_osm_location"); - $.cookie("_osm_location", cookieContent(map), { expires: expiry, path: "/" }); + $.cookie("_osm_location", OSM.locationCookie(map), { expires: expiry, path: "/" }); }); if ($.cookie('_osm_welcome') == 'hide') { @@ -326,7 +327,7 @@ $(document).ready(function () { e.preventDefault(); if ($(".query_wrapper.routing").is(":visible")) { // Routing - OSM.routing.requestRoute(); + OSM.routing.requestRoute(true, true); } else { // Search $("header").addClass("closed"); @@ -341,26 +342,38 @@ $(document).ready(function () { $(".describe_location").on("click", function(e) { e.preventDefault(); - var precision = zoomPrecision(map.getZoom()); + var precision = OSM.zoomPrecision(map.getZoom()); OSM.router.route("/search?query=" + encodeURIComponent( map.getCenter().lat.toFixed(precision) + "," + map.getCenter().lng.toFixed(precision))); }); + OSM.routing = OSM.Routing(map,'OSM.routing',$('.query_wrapper.routing')); + OSM.routing.chooseEngine('javascripts.directions.engines.osrm_car'); + $(".get_directions").on("click",function(e) { - e.preventDefault(); - $(".search").hide(); - $(".routing").show(); - $(".query_wrapper.routing [name=route_from]").focus(); + e.preventDefault(); + $(".search").hide(); + $(".routing").show(); + $(".query_wrapper.routing [name=route_from]").focus(); + $("#map").on('dragend dragover',function(e) { e.preventDefault(); }); + $("#map").on('drop',function(e) { OSM.routing.handleDrop(e); e.preventDefault(); }); + $(".routing_marker").on('dragstart',function(e) { + e.originalEvent.dataTransfer.effectAllowed = 'move'; + e.originalEvent.dataTransfer.setData('id', this.id); + e.originalEvent.dataTransfer.setData('offsetX', e.originalEvent.target.width/2 - (e.originalEvent.x-e.target.x)); + e.originalEvent.dataTransfer.setData('offsetY', e.originalEvent.target.height - (e.originalEvent.y-e.target.y)); + }); }); $(".close_directions").on("click",function(e) { - e.preventDefault(); - $(".search").show(); - $(".routing").hide(); - $(".query_wrapper.search [name=query]").focus(); + e.preventDefault(); + $(".search").show(); + $(".routing").hide(); + OSM.routing.close(); + $("#map").off('dragend drop dragover'); + $(".routing_marker").off('dragstart'); + $(".query_wrapper.search [name=query]").focus(); }); - OSM.routing = OSM.Routing(map,'OSM.routing',$('.query_wrapper.routing')); - });