]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/directions/osrm.js
Cancel any outstanding route when starting a new one
[rails.git] / app / assets / javascripts / index / directions / osrm.js
index 00ef24d6fb3f8d8ea6c2b5db6e73529e79a7efdf..b58ba30a28c3dcf347b7b11957338f01ee66afa9 100644 (file)
@@ -31,7 +31,7 @@ function OSRMEngine() {
         I18n.t('javascripts.directions.instructions.end_oneway')        // 17
       ];
 
-      var url = "http://router.project-osrm.org/viaroute?z=14&output=json&instructions=true";
+      var url = document.location.protocol + "//router.project-osrm.org/viaroute?z=14&output=json&instructions=true";
 
       for (var i = 0; i < points.length; i++) {
         url += "&loc=" + points[i].lat + ',' + points[i].lng;
@@ -44,11 +44,11 @@ function OSRMEngine() {
         url += "&checksum=" + hintData.checksum;
       }
 
-      $.ajax({
+      return $.ajax({
         url: url,
         dataType: 'json',
         success: function (data) {
-          if (data.status == 207)
+          if (data.status === 207)
             return callback(true);
 
           previousPoints = points;
@@ -68,7 +68,7 @@ function OSRMEngine() {
             if (instCodes[1]) {
               instText += "exit " + instCodes[1] + " ";
             }
-            if (instCodes[0] != 15) {
+            if (instCodes[0] !== 15) {
               instText += s[1] ? "<b>" + s[1] + "</b>" : I18n.t('javascripts.directions.instructions.unnamed');
             }
             if ((i + 1) < data.route_instructions.length) {
@@ -91,4 +91,4 @@ function OSRMEngine() {
   };
 }
 
-OSM.Directions.addEngine(OSRMEngine(), false);
+OSM.Directions.addEngine(new OSRMEngine(), true);