Eu tenho os seguintes parâmetros:
Width and height of Map: 450px, 560px
units : 'meters'
maxExtent : new OpenLayers.Bounds(806677.9759,802420.9858,8876817.5647,853497.8186405064)
resolutions: [199.51887828322785, 99.75943914161392, 49.87971957080696,
24.93985978540348, 12.46992989270174, 6.23496494635087, 3.117482473175435,
1.5587412365877176, 0.7793706182938588, 0.3896853091469294, 0.1948426545734647,
0.09742132728673235, 0.048710663643366174, 0.024355331821683087, 0.012177665910841544,
0.006088832955420772, 0.003044416477710386, 0.001522208238855193]
numZoomLevels: 18
OpenLayers.DOTS_PER_INCH = 90.71428571428572;
Quem me inspirou a calcular a escala do nível de zoom atual?
Há uma boa informação no site de Peter Robins , que pode ajudá-lo facilmente com os openlayers.
então a fórmula:
espero que ajude você ...
fonte
map.getResolutions
não funcionou para mim, mas recebendo as resoluções da camada de base fez:map.baseLayer.resolutions
. Lembre-se, no entanto, isso pode resultar em mais valores do que os níveis de zoom ...