So I found this awesome example for switching layers in OL3.
function switchLayer() { var checkedLayer = $('#layerswitcher input[name=layer]:checked').val(); for (i = 0, ii = layers.length; i < ii; ++i) layers.setVisible(i==checkedLayer); }$(function() { switchLayer() } );$("#layerswitcher input[name=layer]").change(function() { switchLayer() } );var layers = [];layers[0] = new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'sat'}) });layers[1] = new ol.layer.Group({ layers: [ new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'sat'}) }), new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'hyb'}) }) ] });layers[2] = new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'osm'}) });layers[3] = new ol.layer.Tile({ source: new ol.source.OSM() });var map = new ol.Map({ target: 'map', controls: ol.control.defaults().extend([ new ol.control.ScaleLine({ units:'metric' }) ]), layers: layers, view: new ol.View({ center: ol.proj.transform([0, 10], 'EPSG:4326', 'EPSG:3857'), zoom: 3 })});
$("#layerswitcher input[name=layer]").change(function() { addLayer() } );var layers = [];layers[4] = new ol.layer.Image({source: new ol.source.ImageWMS({ url: 'http://demo.opengeo.org/geoserver/wms', params: {'LAYERS': 'topp:states'}, serverType: 'geoserver' }) }) ];layers[5] = new ol.layer.Image({ source: new ol.source.ImageWMS({ url: 'http://demo.opengeo.org/geoserver/wms', params: {'LAYERS': 'countries'}, serverType: 'geoserver' }) })];layers[6] = new ol.layer.Image({ source: new ol.source.ImageWMS({ url: 'http://demo.opengeo.org/geoserver/wms', params: {'LAYERS': 'point_clouds'}, serverType: 'geoserver' }) })];but it isn't working.
أكثر...
function switchLayer() { var checkedLayer = $('#layerswitcher input[name=layer]:checked').val(); for (i = 0, ii = layers.length; i < ii; ++i) layers.setVisible(i==checkedLayer); }$(function() { switchLayer() } );$("#layerswitcher input[name=layer]").change(function() { switchLayer() } );var layers = [];layers[0] = new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'sat'}) });layers[1] = new ol.layer.Group({ layers: [ new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'sat'}) }), new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'hyb'}) }) ] });layers[2] = new ol.layer.Tile({ source: new ol.source.MapQuest({layer: 'osm'}) });layers[3] = new ol.layer.Tile({ source: new ol.source.OSM() });var map = new ol.Map({ target: 'map', controls: ol.control.defaults().extend([ new ol.control.ScaleLine({ units:'metric' }) ]), layers: layers, view: new ol.View({ center: ol.proj.transform([0, 10], 'EPSG:4326', 'EPSG:3857'), zoom: 3 })});
- MapQuest Satellite
- MapQuest Hybrid
- MapQuest OSM
- OSM
$("#layerswitcher input[name=layer]").change(function() { addLayer() } );var layers = [];layers[4] = new ol.layer.Image({source: new ol.source.ImageWMS({ url: 'http://demo.opengeo.org/geoserver/wms', params: {'LAYERS': 'topp:states'}, serverType: 'geoserver' }) }) ];layers[5] = new ol.layer.Image({ source: new ol.source.ImageWMS({ url: 'http://demo.opengeo.org/geoserver/wms', params: {'LAYERS': 'countries'}, serverType: 'geoserver' }) })];layers[6] = new ol.layer.Image({ source: new ol.source.ImageWMS({ url: 'http://demo.opengeo.org/geoserver/wms', params: {'LAYERS': 'point_clouds'}, serverType: 'geoserver' }) })];but it isn't working.
أكثر...