]> git.openstreetmap.org Git - rails.git/commitdiff
Converted roundabouts to take "1st, 2nd, 3rd" exit etc
authorJ Guthrie <jamie.guthrie@gmail.com>
Sat, 31 Mar 2018 15:58:17 +0000 (16:58 +0100)
committerJ Guthrie <jamie.guthrie@gmail.com>
Sat, 31 Mar 2018 17:22:56 +0000 (18:22 +0100)
app/assets/javascripts/index/directions/osrm.js
config/locales/en.yml

index 84f085c5a6c942cc16f0cc8fcb6344989d7ff2db..6e7a6deb71955020f9a4ea53e1f30194a9267037 100644 (file)
@@ -60,6 +60,20 @@ function OSRMEngine() {
         'depart': 8,
         'arrive': 14
       };
         'depart': 8,
         'arrive': 14
       };
+      var convertExitNumber = function(exitNum) {
+        var j = exitNum % 10,
+        k = exitNum % 100;
+        if (j === 1 && k !== 11) {
+            return exitNum + "st";
+        }
+        if (j === 2 && k !== 12) {
+            return exitNum + "nd";
+        }
+        if (j === 3 && k !== 13) {
+            return exitNum + "rd";
+        }
+        return exitNum + "th";
+      };
       var transformed_steps = input_steps.map(function(step, idx) {
         var maneuver_id;
 
       var transformed_steps = input_steps.map(function(step, idx) {
         var maneuver_id;
 
@@ -112,7 +126,7 @@ function OSRMEngine() {
 
         if (step.maneuver.type.match(/rotary|roundabout/)) {
           if (step.maneuver.exit) {
 
         if (step.maneuver.type.match(/rotary|roundabout/)) {
           if (step.maneuver.exit) {
-            instText += I18n.t(template + '_with_exit', { exit: step.maneuver.exit, name: name } );
+            instText += I18n.t(template + '_with_exit', { exit: convertExitNumber(step.maneuver.exit), name: name } );
           } else {
             instText += I18n.t(template + '_without_exit', { name: name } );
           }
           } else {
             instText += I18n.t(template + '_without_exit', { name: name } );
           }
index 2aca45255291e4d609731038019d52b31d777686..329718571f7048b73285c097089fa0eae5fd5f19 100644 (file)
@@ -2374,7 +2374,7 @@ en:
         destination_without_exit: Reach destination
         against_oneway_without_exit: Go against one-way on %{name}
         end_oneway_without_exit: End of one-way on %{name}
         destination_without_exit: Reach destination
         against_oneway_without_exit: Go against one-way on %{name}
         end_oneway_without_exit: End of one-way on %{name}
-        roundabout_with_exit: At roundabout take exit %{exit} onto %{name}
+        roundabout_with_exit: At roundabout take %{exit} exit onto %{name}
         turn_left_with_exit: At roundabout turn left onto %{name}
         slight_left_with_exit: At roundabout slight left onto %{name}
         turn_right_with_exit: At roundabout turn right onto %{name}
         turn_left_with_exit: At roundabout turn left onto %{name}
         slight_left_with_exit: At roundabout slight left onto %{name}
         turn_right_with_exit: At roundabout turn right onto %{name}