OpenLayers
ソースコードをあちこちと見てみると、ズームレベルに関連するすべてが解像度を使用して行われているようです。これは画面スペースに直接関係しているので、十分に公平です。
ただし、代わりにスケールを使用し、さらに許可されたスケールをさらに明示的に定義したいと思います。
-これは可能ですか?
これまでのところ、解像度に変換する一連のスケールを作成しました。
var scales = [500, 1000, 2000, 4000, 10000, 25000, 50000];
var resolutions = [];
for(var i = 0; i < scales.length; i++) {
resolutions.push(OpenLayers.Util.getResolutionFromScale(scales[i], units));
}
map = new OpenLayers.Map('', {
...
minScale: scales[scales.length - 1],
maxScale: scales[0],
resolution: resolutions,
numZoomLevels: scales.length,
...
});
私の問題は、最初と最後のスケールが尊重されることですが、スケールに変換された現在の解像度の間に、指定した解像度の中にありません。
-私は何を逃したのですか?
scales
ソースまたはドキュメントのいずれかでパラメータを見つけることができません:dev.openlayers.org/docs/files/OpenLayers/Map-js.html