Vairāk

Kā ierobežot tālummaiņas līmeni programmā OpenLayers 2.x

Kā ierobežot tālummaiņas līmeni programmā OpenLayers 2.x


Es gribētu, lai būtu pieejami tikai 3 tālummaiņas līmeņi (no 6. līdz 8. līmenim).

demolayer2 = new OpenLayers.Layer.WMS ("abc ...", "http: // localhost: 8080 / geoserver / gwc / service / wms", {layer: 'def…', caurspīdīgs: "true", formāts: 'image / png ', numZoomLevels: 3, minZoomLevel: 6}, {isBaseLayer: false}, {tileSize: new OpenLayers.Size (256,256)}); map.addLayer (demolayer2); map.addControl (jauns OpenLayers.Control.LayerSwitcher ({'div': OpenLayers.Util.getElement ('layerwitcher')})); map.zoomToExtent (jauni OpenLayers.Bounds (-4.601615515076983,39.8769407866263, -3,0527184873294764,41.16710732525929));

Viens veids, kā to izdarīt (nezinu, vai tas ir vienīgais veids), ir, izmantojot opciju parametru, nodot karšu pieejamo izšķirtspēju kartes konstruktoram. Kaut kas kā…

var map = new OpenLayers.Map ('karte', {izšķirtspējas: [0.02197265625, 0.0439453125, 0.17578125]});

Veids, kā iegūt interesējošās izšķirtspējas, varētu būt šāds:

1) tuviniet karti līdz vēlamajam tālummaiņas līmenim (es to izdarīju, izmantojot konsoli, palaižotmap.zoomTo (x)kurxir interesējošais tālummaiņas līmenis)

2) caur konsoles žurnālukarte.rezolūcijaun ņem to vērā

3) atkārtojiet visus tālummaiņas līmeņus, kurus vēlaties iekļaut

Sīkāku informāciju varat atrast šeit.


In OlpenLayers 3 jūs varat tikai inicializēt skatu, izmantojot vēlamos tuvināšanas ierobežojumus:

var kart = new ol.Map ({target: 'map', // ... view: new ol.View ({maxZoom: 8, minZoom: 6, zoom: 7}}});

vienkārši pievienojiet skriptam šādu kodu:

map.isValidZoomLevel = funkcija (zoomLevel) {return ((zoomLevel! = null) && (zoomLevel> = 6) && (zoomlevel <= 8)); }

Tam vajadzētu būt arī iespējai, iestatot numZoomLevels un maxResolution (varbūt vieglāk, nekā atsevišķi atrast visas izšķirtspējas):

var map = new OpenLayers.Map ('karte', {numZoomLevels: 15, maxResolution: 39135.758475});

Piezīme: noteiktā tālummaiņas līmeņa izšķirtspēja ir iepriekšējā tālummaiņas līmeņa izšķirtspēja dalīta ar 2.


Skatīties video: OpenLayers Introduction for Beginners