Mạo hiểm xung quanh trong OpenLayers
mã nguồn, có vẻ như mọi thứ liên quan đến mức thu phóng đều được thực hiện bằng cách sử dụng độ phân giải. Đủ công bằng vì điều này liên quan trực tiếp đến không gian màn hình.
Mặc dù vậy, tôi muốn sử dụng các thang đo thay vào đó và xác định rõ hơn các tỷ lệ được phép.
- Điều này có thể không?
Cho đến nay tôi đã tạo ra một bộ thang đo mà tôi chuyển thành các độ phân giải:
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,
...
});
Vấn đề của tôi là thang đo đầu tiên và thang đo cuối cùng được tôn trọng, nhưng ở giữa độ phân giải hiện tại được chuyển đổi thành tỷ lệ không nằm trong số thang đo tôi đã chỉ định.
- Tôi đã bỏ lỡ điều gì?
scales
tham số trong nguồn hoặc trong tài liệu: dev.openlayers.org/docs/files/OpenLayers/Map-js.html