[OpenLayers-Users] inconsistent click handling
bartvde at osgis.nl
bartvde at osgis.nl
Tue Mar 9 04:57:01 EST 2010
Hi,
my first guess would be the clickTolerance, try setting it to a larger
value (defaults to 4).
There is only an ugly prototype way to set it right now, but please give
it a try:
OpenLayers.Handler.Feature.prototype.clickTolerance = 6;
Best regards,
Bart
> Hello list,
>
> I'm having a persistent problem, which is not very consistently
> reproducible.
>
> I have a small application with a button, which when beeing clicked,
> places a marker
> on a map. The marker can be moved.
> When double clicked, the marker dis-appears and a popup-window is shown.
> In 50% (a guestimate) of the 'double-clicks' there is no reaction at al
>
> This page is as clean as I can create the example:
> http://ligplekwijzer.steckelfisch.nl/feature-not-responding-test1.html
>
> This code creates the layer:
> function addNewLigplekLayer() {
> var SHADOW_Z_INDEX = 10;
> var MARKER_Z_INDEX = 11;
>
> try {
> newLigplekLayer = new OpenLayers.Layer.Vector( "Aanmelden nieuwe
> ligplek",
> {
> styleMap: new OpenLayers.StyleMap({
> externalGraphic: "/ligplekwijzer_files/img/Cross.png",
> backgroundXOffset: 0,
> backgroundYOffset: -7,
> graphicZIndex: MARKER_Z_INDEX,
> backgroundGraphicZIndex: SHADOW_Z_INDEX,
> pointRadius: 15
> }),
> isBaseLayer: false,
> displayInLayerSwitcher: false
> }
> );
>
> // Toevoegen drag feature control voor het verslepen van een feature
> var dragFeature = new OpenLayers.Control.DragFeature(newLigplekLayer);
> map.addControl( dragFeature );
> dragFeature.activate();
>
> var newLigplekControlOptions = { onSelect: onNieuweLigplekSelect,
> onUnselect: onNieuweLigplekUnselect };
>
> newLigplekControl = new OpenLayers.Control.SelectFeature(newLigplekLayer,
> newLigplekControlOptions)
> ;
> map.addControl( newLigplekControl );
> newLigplekControl.activate();
>
> map.addLayers([newLigplekLayer]);
> newLigplekLayer.setVisibility( true, true);
> } catch(e) {
> alert("Opbouwen van de data-laag AanmeldenNieuweLigplek is verkeerd
> gegeaan. " + e.name + ". Error message: " + e.message);
> }
>
> }
>
>
>
> this is the code that adds the marker to the layer:
>
> function addNewLigplekFeature() {
> //alert("addNewLigplekFeature");
> try {
> if( newLigplekLayer != null) {
> try {
> newLigplekLayer.destroyFeatures(newLigplekLayer.features);
> }
> catch( err) {
> //ignore.
> alert(err);
> }
>
> var features = [];
> var center = map.getViewPortPxFromLonLat(map.getCenter());
> var pixel = new OpenLayers.Pixel(center.x, center.y);
> var lonLat = map.getLonLatFromViewPortPx(pixel);
> features.push(
> new OpenLayers.Feature.Vector(
> new OpenLayers.Geometry.Point(lonLat.lon, lonLat.lat)
> )
> );
>
> newLigplekLayer.addFeatures(features);
> newLigplekLayer.setVisibility( true, true);
> }
> }
> catch( err) {
> alert( "Error in addNewLigplekFeature: "+err );
> }
> }
>
>
> I hope someone can provide me a handle or a pointer to solve this issue.
>
> Regards,
> Gert-Jan Braas
>
> ====================
> Scholen dienen methodes te onderwijzen,
> niet het gebruik van Microsoft producten.
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>
More information about the Users
mailing list