]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/query.js
Remove dependencies on mapzen services
[rails.git] / app / assets / javascripts / index / query.js
index 1e1dc2ed1b4c35cf7ade2ded44e760be3182a86d..7ac613d71ec1737e2d80088ad5f3c0e29d177868 100644 (file)
@@ -12,7 +12,7 @@ OSM.Query = function(map) {
     weight: 4,
     opacity: 1,
     fillOpacity: 0.5,
-    clickable: false
+    interactive: false
   };
 
   queryButton.on("click", function (e) {
@@ -146,7 +146,7 @@ OSM.Query = function(map) {
 
     if (feature.type === "node" && feature.lat && feature.lon) {
       geometry = L.circleMarker([feature.lat, feature.lon], featureStyle);
-    } else if (feature.type === "way" && feature.geometry) {
+    } else if (feature.type === "way" && feature.geometry && feature.geometry.length > 0) {
       geometry = L.polyline(feature.geometry.filter(function (point) {
         return point !== null;
       }).map(function (point) {
@@ -179,7 +179,7 @@ OSM.Query = function(map) {
       url: url,
       method: "POST",
       data: {
-        data: "[timeout:5][out:json];" + query,
+        data: "[timeout:10][out:json];" + query,
       },
       success: function(results) {
         var elements;
@@ -189,6 +189,9 @@ OSM.Query = function(map) {
         if (merge) {
           elements = results.elements.reduce(function (hash, element) {
             var key = element.type + element.id;
+            if ("geometry" in element) {
+              delete element.bounds;
+            }
             hash[key] = $.extend({}, hash[key], element);
             return hash;
           }, {});
@@ -223,6 +226,12 @@ OSM.Query = function(map) {
           }
         }
 
+        if (results.remark) {
+          $("<li>")
+            .text(I18n.t("javascripts.query.error", { server: url, error: results.remark }))
+            .appendTo($ul);
+        }
+
         if ($ul.find("li").length === 0) {
           $("<li>")
             .text(I18n.t("javascripts.query.nothing_found"))