Snippets

Piotr Szrajber Smart M.App - modify zoomLevel to 25 on all WMS layers

Created by Piotr Szrajber last modified
/**
* Iterate over all WMS layers and set maxZoom to 25
* 2017-03-06 Piotr Szrajber <piotr.szrajber@hexagongeospatial.com>
* This is using private API calls and should be used only as a workaround
*/

function iterate(layers, fn, predicate) {
    var keys = Object.keys(layers);
    for (var i = 0, l = keys.length; i < l; i++) {
        var layer = layers[keys[i]],
            subLayers = layer._layers;
        if (predicate(layer))
            fn(layer);
        if (subLayers)
            iterate(subLayers, fn, predicate);
    }
}

mainContext.switchingMapViewerAdapter.getMapAdapter().then(function(mapAdapter) {
    var map = mapAdapter.getMap(),
        layers = map._layers;
    map.options.maxZoom = 25;
    iterate(layers, function(layer) {
        layer.options.maxZoom = 25;
    }, function(layer) {
        return !!layer.wmsParams;
    });

});

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.