Hi Andreas,
thank you for your help!
I have alreade tried to use the SelectFeature class. But a strange behaviour
appears when combing it with the DragFeature: i can click the feature only
once. If i don't use the DragFeature the SelectFeature works like expected. I
created a working example of that phenomena, see at the bottom. If you disable
the dragFeature the selectFeature works like expected, maybe this is even a
bug...?
Cheers,
Christoph
layer = new OpenLayers.Layer.Vector("layer");
map.addLayers([layer]);
drag = new OpenLayers.Control.DragFeature(layer);
map.addControl(drag);
drag.activate();
click = new OpenLayers.Control.SelectFeature(
[layer],
{
clickout: true, toggle: false,
multiple: false, hover: false,
toggleKey: "ctrlKey", // ctrl key removes from selection
multipleKey: "shiftKey" // shift key adds to selection
}
);
map.addControl(click);
layer.events.on({
"featureselected": function(e) {
alert('selected');
},
"featureunselected": function(e) {
alert('unselected');
}
});
click.activate();
ftr = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1, 2)); // an
icon
layer.addFeatures([ftr]);
----- Original Message -----
From: [email protected]
To: [email protected]
Date: 25.02.2010 14:36:48
Subject: Re: [OpenLayers-Users] Click on OpenLayers.Feature.Vector
> Hi,
>
> you need to create an OpenLayers.Control.SelectFeature instance,
> configure it with your vector layer, and add it to the map. You can then
> listen for the layer's "featureselected" event.
>
> See the [1] example if you need a code snippet. The example does exactly
> the same, but on two different layers instead of just one.
>
> Regards,
> Andreas.
>
> [1] http://openlayers.org/dev/examples/select-feature-multilayer.html
>
> Christoph Lingg wrote:
> > Hello!
> >
> > I changed from GoogleMap to OpenLayers, and although I enjoy to use the
> > opensource equivalent, sometimes I feel lost in the OL documentation ;-)
> >
> > Would anyone be so kind and could give me hint how to achieve this very low
> > level problem: I have a Vector Layer (I can't use marker class as I use the
> > dragging feature as well) to which I add some Feature Vector, that are
> > displayed on the map. What I need now is triggering an event when a feature
> > was clicked. Very basically my code looks like this:
> >> layer = new OpenLayers.Layer.Vector("layer");
> >> map.addLayers([layer]);
> >> ftr = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lon,
> >> lat), null, styleMarker); // an icon
> >> layer.addFeatures([ftr]);
> > I tried different approaches that never worked out! What is the right way
> > to go?
> >
> > Thank you in advance for any help!
> >
> > Christoph
> >
> >
> >
> > _______________________________________________
> > Users mailing list
> > [email protected]
> > http://openlayers.org/mailman/listinfo/users
>
>
> --
> Andreas Hocevar
> OpenGeo - http://opengeo.org/
> Expert service straight from the developers.
>
_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users