]> git.openstreetmap.org Git - rails.git/commitdiff
Remove endpoint.hasGeocode state and related getRoute code
authorAnton Khorev <tony29@yandex.ru>
Sun, 11 Aug 2024 03:58:14 +0000 (06:58 +0300)
committerAnton Khorev <tony29@yandex.ru>
Fri, 16 Aug 2024 05:53:34 +0000 (08:53 +0300)
hasGeocode didn't actually indicated if an endpoint has a value acquired from a geocoder. It was set to true when at least one call to a geocoder finished successfully, including getting an empty result. getRoute doesn't need to know what calls were made, it only needs coordinates. It also doesn't get to decide when to fetch coordinates, this is done in drag/change callbacks.

app/assets/javascripts/index/directions-endpoint.js
app/assets/javascripts/index/directions.js

index 24042081d73eabbb4d84436a71e151e914c3e55f..ec09352de15f4e97c4d61ee1c64cfcef84a22641 100644 (file)
@@ -61,7 +61,6 @@ OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, ch
 
     $.getJSON(OSM.NOMINATIM_URL + "search?q=" + encodeURIComponent(endpoint.value) + "&format=json&viewbox=" + viewbox, function (json) {
       endpoint.awaitingGeocode = false;
-      endpoint.hasGeocode = true;
       if (json.length === 0) {
         input.addClass("is-invalid");
         alert(I18n.t("javascripts.directions.errors.no_place", { place: endpoint.value }));
@@ -77,7 +76,6 @@ OSM.DirectionsEndpoint = function Endpoint(map, input, iconUrl, dragCallback, ch
   };
 
   function setLatLng(ll) {
-    endpoint.hasGeocode = true;
     endpoint.latlng = ll;
     endpoint.marker
       .setLatLng(ll)
index b34f18ed1e52fd24b3f89c6de75957adb7745991..0f3c410f7320a09a6ca79b61762112fe085a13cb 100644 (file)
@@ -119,18 +119,6 @@ OSM.Directions = function (map) {
     // Cancel any route that is already in progress
     if (routeRequest) routeRequest.abort();
 
-    // go fetch geocodes for any endpoints which have not already
-    // been geocoded.
-    for (var ep_i = 0; ep_i < 2; ++ep_i) {
-      var endpoint = endpoints[ep_i];
-      if (!endpoint.hasGeocode && !endpoint.awaitingGeocode) {
-        endpoint.getGeocode();
-      }
-    }
-    if (endpoints[0].awaitingGeocode || endpoints[1].awaitingGeocode) {
-      return;
-    }
-
     var o = endpoints[0].latlng,
         d = endpoints[1].latlng;