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