0
我試圖根據OpenLayers中的縮放級別來隱藏/顯示我自己的kml文件(多邊形) - 當達到一層應該隱藏的某個縮放級別以及另一個顯示時。到目前爲止,我發現這個解決方案(How to load layers depending on zoom level?),但它似乎沒有在我的情況下工作。 I'm比較新的JavaScript和我不如果使用的I'm這個權利知道,我也做了一些修改的例子:在定義的縮放級別上顯示/隱藏kml
map.events.register("zoomend", map, zoomChanged); //inserted in function init()
function zoomChanged()
{
if (map.getZoom() == 18)
{
kml1.setVisibility (true);
kml2.setVisibility (false);
}
else if (map.getZoom() == 19)
{
kml1.setVisibility (false);
kml2.setVisibility (true);
}
}
我也嘗試另一種解決辦法隱瞞kml1,但在這種情況下,我的圖層不是繪製的。該LayerSwitcher工程 - 該層定義縮放級別無法選擇,但縮小時(當層已經選擇)沒有什麼可見的:
var kml1 = new OpenLayers.Layer.Vector("prehled",
{minScale: 1000,}, //1:1000
{
projection: map.displayProjection,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/zahrada.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true,
})
})
});
map.addLayer(kml1);
感謝有這方面的反應和意見。
非常感謝你,我花了好幾天在這個即使只有一行的代碼是魅力:-) it's工作! – pavli