¿Por qué el cambio de capas programáticamente en openlayers introduce este extraño comportamiento?

Quiero cambiar las capas mediante programación cuando se hace clic en un botón de control.

Cuando hago esto, el mapa deja de funcionar correctamente, se vuelve realmente defectuoso. Para ser más precisos, los controladores de dibujo no funcionan correctamente después de eso.

¿Alguien puede decirme cómo cambiar entre capas y controlarlas mediante programación y por qué no funciona?

Aquí está el código:

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);
});

Esta:

find_control(editing_toolbar_polygon.getControlsByClass(new RegExp(".*DrawFeature")),"Point")

simplemente devuelve un control en el que configuré una función de devolución de llamada activate.

preguntado el 11 de junio de 12 a las 19:06

2 Respuestas

Para cambiar las capas del mapa, debe usar el método de Map setBaseLayer. Vea documentación.

contestado el 28 de mayo de 13 a las 17:05

Para cambiar la capa, puede usar el siguiente fragmento:

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

O puede encontrar la capa por nombre con:

map.getLayersByName(layerName);

Respondido 31 Jul 13, 17:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.