Wenn man sich im OpenLayers
Quellcode herumtreibt, scheint alles, was mit Zoomstufen zu tun hat, mit Auflösungen zu erfolgen. Fair genug, da dies direkt mit dem Bildschirmbereich zusammenhängt.
Ich möchte jedoch stattdessen Skalen verwenden und die zulässigen Skalen genauer definieren.
- Ist das möglich?
Bisher habe ich eine Reihe von Skalen erstellt, die ich in Auflösungen umwandle:
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,
...
});
Mein Problem ist, dass die erste und die letzte Skala eingehalten werden, aber dazwischen gehört die aktuelle Auflösung, die in eine Skala umgewandelt wurde, nicht zu den von mir angegebenen.
- Was habe ich vermisst?
scales
Parameter entweder in der Quelle oder in den Dokumenten zu finden: dev.openlayers.org/docs/files/OpenLayers/Map-js.htmlEinheiten müssen eingestellt werden: Einheiten: "Grad"
Zeichenfolge - Die Einheiten, in denen die Ebene angezeigt werden soll.
Dies wirkt sich auf die Berechnung der Skalenauflösung aus.
Offizielle Quelle: http://trac.openlayers.org/wiki/SettingZoomLevels
quelle