我希望在单击控制按钮时以编程方式切换图层。
当我这样做时,地图停止正常工作,它变得非常错误。 更确切地说,绘图处理程序在此之后根本无法正常工作。
任何人都可以告诉我如何在图层之间切换并以编程方式控制它们,为什么这不起作用?
以下是代码:
find_control(editing_toolbar_polygon.getControlsByClass(new RegExp(".*DrawFeature")),"Point").events.register("activate",null,function(e){
map.removeControl(editing_toolbar_polygon);
polygon_layer.setVisibility(false);
vectors.setVisibility(true);
map.addControl(editing_toolbar_vector);
});
此:
find_control(editing_toolbar_polygon.getControlsByClass(new RegExp(".*DrawFeature")),"Point")
只返回一个控件,我在activate
上设置了一个回调函数。
答案 0 :(得分:2)
要切换地图图层,您应该使用Map的方法setBaseLayer
。见documentation。
答案 1 :(得分:2)
更改图层您将使用以下代码段:
map.setBaseLayer(map.layers[0]);
或者您可以按名称找到图层:
map.getLayersByName(layerName);