1

我想在单击控制按钮时以编程方式切换图层。

当我这样做时,地图停止正常工作,它变得非常有问题。更准确地说,绘图处理程序在那之后根本无法正常工作。

谁能告诉我如何在图层之间切换并以编程方式控制它们,为什么这不起作用?

这是代码:

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

4

2 回答 2

2

要更改图层,您可以使用以下代码段:

map.setBaseLayer(map.layers[0]);

或者您可以使用以下名称找到图层:

map.getLayersByName(layerName);
于 2013-07-31T16:20:28.337 回答
2

要切换地图图层,您应该使用 Map 的方法setBaseLayer。请参阅文档

于 2013-05-28T16:16:32.670 回答