]> git.openstreetmap.org Git - rails.git/commitdiff
Improve display of objects on data browser maps
authorMartin Raifer <tyr.asd@gmail.com>
Tue, 14 May 2013 10:52:15 +0000 (12:52 +0200)
committerTom Hughes <tom@compton.nu>
Tue, 14 May 2013 20:43:55 +0000 (21:43 +0100)
Previously, tagged nodes of ways were shown on the browse/way and
browse/relation pages.

Now, nodes are not shown on browse/way pages and only nodes which are
direct members of the relation are shown on browse/relation pages.

app/assets/javascripts/map.js.erb

index 8591e260a10b830480ffd5a963ed11db2a52877b..ba331f313b4da6167ccaad4fbfa0fba934e895b6 100644 (file)
@@ -142,7 +142,7 @@ function addObjectToMap(object, zoom, callback) {
     url: OSM.apiUrl(object),
     dataType: "xml",
     success: function (xml) {
     url: OSM.apiUrl(object),
     dataType: "xml",
     success: function (xml) {
-      objectLayer = new L.OSM.DataLayer(xml, {
+      objectLayer = new L.OSM.DataLayer(null, {
         style: {
           strokeColor: "blue",
           strokeWidth: 3,
         style: {
           strokeColor: "blue",
           strokeWidth: 3,
@@ -153,6 +153,20 @@ function addObjectToMap(object, zoom, callback) {
         }
       });
 
         }
       });
 
+      objectLayer.interestingNode = function (node, ways, relations) {
+        if (object.type === "node") {
+          return true;
+        } else if (object.type === "relation") {
+          for (var i = 0; i < relations.length; i++)
+            if (relations[i].members.indexOf(node) != -1)
+              return true;
+        } else {
+          return false;
+        }
+      };
+
+      objectLayer.addData(xml);
+
       var bounds = objectLayer.getBounds();
 
       if (zoom) {
       var bounds = objectLayer.getBounds();
 
       if (zoom) {