From 49299dfe44841e3eacf4d83270acce1a0bcac83b Mon Sep 17 00:00:00 2001 From: Antoine Abt Date: Fri, 25 Jul 2014 17:04:00 +0200 Subject: [PATCH] Uncheck heavy layers by default --- examples/tile-vector.html | 11 +++++++++++ examples/tile-vector.js | 20 ++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/examples/tile-vector.html b/examples/tile-vector.html index f3456c7676..5fb1416079 100644 --- a/examples/tile-vector.html +++ b/examples/tile-vector.html @@ -12,6 +12,7 @@ @@ -41,6 +42,16 @@

See the tile-vector.js source to see how this is done.

+
+ Warning Map is becoming unresponsive with too many layers. +
+
+ Layers + + + + +
tile-vector, openstreetmap
diff --git a/examples/tile-vector.js b/examples/tile-vector.js index d5aa3baf2a..48737131e2 100644 --- a/examples/tile-vector.js +++ b/examples/tile-vector.js @@ -77,10 +77,10 @@ var buildingStyle = [ new ol.style.Style({ fill: new ol.style.Fill({ color: '#666', - opacity: .4 + opacity: 0.4 }), stroke: new ol.style.Stroke({ - color: '#FFF', + color: '#444', width: 1 }) }) @@ -97,8 +97,9 @@ var buildingLayer = new ol.layer.Vector({ url: 'http://{a-c}.tile.openstreetmap.us/' + 'vectiles-buildings/{z}/{x}/{y}.topojson' }), + visible: false, style: function(f, resolution) { - return (resolution < 5) ? buildingStyle : []; + return (resolution < 10) ? buildingStyle : []; } }); @@ -115,6 +116,7 @@ var landuseLayer = new ol.layer.Vector({ url: 'http://{a-c}.tile.openstreetmap.us/' + 'vectiles-land-usages/{z}/{x}/{y}.topojson' }), + visible: false, style: function(feature, resolution) { var kind = feature.get('kind'); var styleKey = kind; @@ -140,7 +142,7 @@ var landuseLayer = new ol.layer.Vector({ }), fill: new ol.style.Fill({ color: color, - opacity: .5 + opacity: 0.5 }) })]; landuseStyleCache[styleKey] = styleArray; @@ -159,3 +161,13 @@ var map = new ol.Map({ zoom: 15 }) }); + +$('input[type=checkbox]').on('change', function() { + var layer = { + landuse: landuseLayer, + buildings: buildingLayer, + water: waterLayer, + roads: roadLayer + }[$(this).attr('id')]; + layer.setVisible(!layer.getVisible()); +});