openlayers 3 zoom combiné à mesure

J'utilise openlayers 3 pour créer une carte avec un vecteur de caractéristiques sur le dessus. Pour l'instant, donc bon.

J'ai plusieurs couches vectorielles, regroupés dans une variable appelée projecten.

var projecten = new ol.layer.Group({

            title: 'Projecten',
            layers: [

                new ol.layer.Vector({
                title: 'EVZ Den Dungen',
                source: new ol.source.GeoJSON(
                            /** @type {olx.source.GeoJSONOptions} */({
                              object: EVZDenDungen,
                              projection: 'EPSG:3857'
                        })),
                style: function(feature, resolution) {
                    return lookup[feature.get('landschapselement')];
                }
                }),

                new ol.layer.Vector({
                title: 'EVZ Croy',
                source: new ol.source.GeoJSON(
                            /** @type {olx.source.GeoJSONOptions} */({
                              object: EVZCroy,
                              projection: 'EPSG:3857'
                        })),
                style: function(feature, resolution) {
                    return lookup[feature.get('landschapselement')];
                }
                }),

                new ol.layer.Vector({
                title: 'Natuurcompensatie Gasselsbroek',
                source: new ol.source.GeoJSON(
                            /** @type {olx.source.GeoJSONOptions} */({
                              object: NatuurcompensatieGasselsbroek,
                              projection: 'EPSG:3857'
                        })),
                style: function(feature, resolution) {
                    return lookup[feature.get('landschapselement')];
                }
                }),

                new ol.layer.Vector({
                title: 'Ebben',
                source: new ol.source.GeoJSON(
                            /** @type {olx.source.GeoJSONOptions} */({
                              object: Ebben,
                              projection: 'EPSG:3857'
                        })),
                style: function(feature, resolution) {
                    return lookup[feature.get('landschapselement')];
                }
                }),

                new ol.layer.Vector({
                title: 'Zionsburg',
                source: new ol.source.GeoJSON(
                            /** @type {olx.source.GeoJSONOptions} */({
                              object: Zionsburg,
                              projection: 'EPSG:3857'
                        })),
                style: function(feature, resolution) {
                    return lookup[feature.get('landschapselement')];
                }
                })


            ]
})

Maintenant, je veux en quelque sorte la boucle à travers la projecten variables, en boucle par le biais de ses calques un par un, obtenez-en la mesure de chaque couche de la fonction, et s'arrête lorsque la dernière couche a été atteint. Ensuite, je veux un zoom à cette combinés de mesure.

C'est ma configuration de base (je ne suis pas bon avec du javascript et des boucles):

projecten.getLayers()
     for (var i = 0, ii = layers.length; i < ii; ++i) {
         layer = layers[i];
         ol.extent.boundingExtend(extent, layer.getBounds());
     }
    map.getView().fitExtent(extent,map.getSize());

Des idées sur comment je peut obtenir que cela fonctionne?

Je ne sais pas étendues assez bien pour créer une réponse, mais je pense que dans votre boucle, vous pouvez utiliser l'ol.mesure.getBottomLeft et l'ol.mesure.getTopRight pour la couche de la mesure. Stocker les valeurs minimales en bas à gauche et les valeurs maximales de haut, à droite et utilisez-les pour créer votre nouvelle mesure.
Comment? Pouvez-vous lui donner un essai?

OriginalL'auteur user1697335 | 2015-05-08