¿Cómo puedo anular la selección de una función en Openlayers?

9

Puedo identificar las características seleccionadas en mi mapa usando la siguiente línea:

vector_layer.selectedFeatures

Me gustaría poder anular la selección de esta función utilizando una función independiente (no un controlador de eventos). He intentado usar las funciones unselect()y unselectAll()sin éxito y no puedo encontrar ningún ejemplo de este enfoque.

Soy consciente de que puede hacer clic en el objeto seleccionado unselect. En este caso quiero una solución programática.

djq
fuente
No es exactamente lo que estoy tratando de hacer, pero los unSelecttemas se discuten aquí: github.com/openlayers/openlayers/pull/486
djq
Gracias por las sugerencias. Los he visto y he tratado de adaptarlos para mi capa de cuadrícula. Por lo que puedo decir, cada ejemplo para seleccionar características involucra crear primero las características. No he visto (todavía) un ejemplo de trabajo en el que se cargue una capa existente y el usuario seleccione características de esta capa. Estoy empezando a pensar que selectFeature solo funciona para los vectores que creas sobre la marcha. Espero que esto no sea cierto o de lo contrario estoy en problemas. ;)
user2378729

Respuestas:

13

OpenLayers 2: puede anular la selección de las funciones con anular la selección y anular la selección de todos los métodos de control SelectFeature:

selectControl = new OpenLayers.Control.SelectFeature(vectorLayer);
...
map.addControls([selectControl]);
selectControl.activate();

// unselect any specific feature...
selectControl.unselect(vectorLayer.features[0]);
// ...or all features
selectControl.unselectAll();

Si esto no funciona, probablemente haya un error en su código.

Aquí está el violín: http://jsfiddle.net/dHxnh/1/

usuario1702401
fuente
No veo eso en la documentación ... ¡pero funciona!
pakman
1

Openlayers deseleccionando objetos - varios métodos

Use la tecla Mayús para seleccionar múltiples funciones. Use la tecla Ctrl para alternar la selección de características de una en una. Nota: la opción "clickout" no tiene efecto cuando se selecciona "hover"

http://openlayers.org/dev/examples/select-feature.html

haga clic para cancelar la selección de funciones

Mapperz
fuente
1
Lo siento, debería haber agregado la palabra programática. Quiero unselectusar una función, no un clic.
DJ