Suite

Chargement du vecteur uniquement pour un zoom spécifique à l'aide d'OpenLayers ?


J'ai une carte avec 4-5 vecteurs. Au début, le chargement de l'application web est très très lent, mais ça allait avant que j'ajoute un nouveau vecteur, qui n'est utilisé que pour les petits zooms.

Est-il possible de lancer le chargement d'un vecteur uniquement lorsque le zoom spécifique est atteint ?

J'utilise actuellement OpenLayers 2.2, et en tant que débutant dans OpenLayers, la seule façon que j'ai trouvée pour charger un vecteur était comme ceci :

var olmap = new ol.Map({ couches : [ new ol.layer.Tile({ source : new ol.source.OSM({ url : 'php/map/getOsm.php?z={z}&x={x }&y={y}' }) }), vector, vector_country, vector_countryName, vector_term, vector_port, vector_ramp ], moteur de rendu : ol.RendererHint.CANVAS, superpositions : [overlay], contrôles : ol.control.defaults().extend ([ new ol.control.FullScreen(), new app.CustomExport() ]), vue : mapView });

C'était assez facile :

olmap.addLayer(nomducalque);

Cela peut ou non vous aider. Vous pouvez essayer l'événement Map zoomend, puis faire ce que vous désirez lorsque le niveau de zoom change.

MAP.events.register("zoomend", this, function(e) { var zoom = MAP.getZoom(); // faire quelque chose });


Voir la vidéo: Primjeri kolinearnih vektora na paralelogramu. Nekolinearni vektori (Octobre 2021).