<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><title></title><head><meta http-equiv="Content-type" content="text/html; charset=UTF-8" /><style type="text/css"> html, body {overflow-x: visible; } html { width:100%; height:100%;margin:0px; padding:0px; overflow-y: auto; overflow-x: auto; }body { font-size: 100.01%; font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; background-color:transparent; overflow:show; background-image:none; margin:0px; padding:5px; }p { margin:0px; padding:0px; } body { font-size: 12px; font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; } p { margin: 0; padding: 0; } blockquote { padding-left: 5px; margin-left: 5px; margin-bottom: 0px; margin-top: 0px; } blockquote.quote { border-left: 1px solid #CCC; padding-left: 5px; margin-left: 5px; } .misspelled { background: transparent url(//webmailerng.1und1.de/static_resource/mailclient/widgets/basic/parts/maileditor/spellchecking_underline.gif) repeat-x scroll center bottom; } .correct {} .unknown {} .ignored {}</style></head><body id="bodyElement" style="">
<p>Hi users-list,<span></span></p><p id="__paragraph__1319630775000" style=""><br><span style=""></span></p><p id="__paragraph__1319630775000" style=""><span style="">I've not found a solution to this by searching the web yet,:</span><span></span></p><p id="__paragraph__1319630824000" style=""><br><span style=""></span></p><p id="__paragraph__1319630824000" style=""><span style="">My problem concernes OpenLayers.Layer.Text layer below an OpenLayers.Layer.Vector layer, trying to trigger the click events on the markers of the Text layer (to be able to open their popups) without deactivating the Vector overlay layer. I've read an article about Vector layer absorbing click events without a good solution IMO.</span></p><p id="__paragraph__1319630824000" style=""><br></p><p id="__paragraph__1319630824000" style="">How can I solve this issue?<br></p><p id="__paragraph__1319630824000" style=""><br><span style=""></span></p><p id="__paragraph__1319630824000" style=""><span style="">I've prepared an example:</span><span></span></p><p id="__paragraph__1319630824000" style="">There should be 2 files attached.</p><p id="__paragraph__1319630824000" style=""><br></p><p id="__paragraph__1319630824000" style="">Alternatively you could proceed with following to achieve the same like the attached files:<br></p><p id="__paragraph__1319631140000" style=""><span style="">Taking the Click event example from here http://openlayers.org/dev/examples/click.html</span><span></span></p><p id="__paragraph__1319631155000" style=""><span style="">and replace the complete contents of the script tag with this (don't forget to link to the online version of the OpenLayers.js in the head-tag!):</span><span></span></p><p id="__paragraph__1319631355000" style=""><br><span style=""></span></p><p id="__paragraph__1319631355000" style=""><span style="">&nbsp;&nbsp;&nbsp; var projMercator = new OpenLayers.Projection("EPSG:900913");<br>&nbsp;&nbsp;&nbsp; var map = new OpenLayers.Map("map");<br><br>&nbsp;&nbsp;&nbsp; OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; defaultHandlerOptions: {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'single': true,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'double': false,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'pixelTolerance': 0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'stopSingle': false,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'stopDouble': false<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initialize: function(options) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.handlerOptions = OpenLayers.Util.extend(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {}, this.defaultHandlerOptions<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenLayers.Control.prototype.initialize.apply(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this, arguments<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.handler = new OpenLayers.Handler.Click(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this, {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'click': this.trigger<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }, this.handlerOptions<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }, <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trigger: function(e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var lonlat = map.getLonLatFromViewPortPx(e.xy);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("You clicked near " + lonlat.lat + " N, " +<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + lonlat.lon + " E");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; });<br><br><br>&nbsp;&nbsp;&nbsp; function init(){<br>&nbsp;&nbsp;&nbsp; map.addControl(new OpenLayers.Control.LayerSwitcher());<br><br>&nbsp;&nbsp;&nbsp; // click handler<br>&nbsp;&nbsp;&nbsp; var click = new OpenLayers.Control.Click();<br>&nbsp;&nbsp;&nbsp; map.addControl(click);<br>&nbsp;&nbsp;&nbsp; click.activate();<br><br>&nbsp;&nbsp;&nbsp; // 1st layer<br>&nbsp;&nbsp;&nbsp; map.addLayer(new OpenLayers.Layer.OSM());<br><br>&nbsp;&nbsp;&nbsp; // 2nd layer<br>&nbsp;&nbsp;&nbsp; var pois = new OpenLayers.Layer.Text( "My Points",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; location:"./textfile.txt",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; projection: map.displayProjection<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; });<br>&nbsp;&nbsp;&nbsp; map.addLayer(pois);<br><br><br>&nbsp;&nbsp;&nbsp; // 3rd layer (vector layer)<br>&nbsp;&nbsp;&nbsp; var layerGeometry = new OpenLayers.Layer.Vector(<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "Gebiete",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; strategies: [new OpenLayers.Strategy.Fixed()],<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; protocol: new OpenLayers.Protocol.HTTP({<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; url: "geom.json",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; format: new OpenLayers.Format.GeoJSON()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }),<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; projection: projMercator<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addLayer(layerGeometry);<br><br><br>&nbsp;&nbsp;&nbsp; var lonLat = new OpenLayers.LonLat( 9.5788, 48.9773 )<br>&nbsp;&nbsp;&nbsp; &nbsp; .transform(<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; map.getProjectionObject() // to Spherical Mercator Projection<br>&nbsp;&nbsp;&nbsp; &nbsp; );<br>&nbsp;&nbsp;&nbsp; var zoom=11;<br>&nbsp;&nbsp;&nbsp; map.setCenter (lonLat, zoom);&nbsp; <br>&nbsp;&nbsp;&nbsp; }</span><span></span></p><p id="__paragraph__1319631465000" style=""><br><span style=""></span></p><p id="__paragraph__1319631465000" style=""><br><span style=""></span></p><p id="__paragraph__1319631465000" style=""><br><span style=""></span></p><p id="__paragraph__1319631465000" style=""><br><span style=""></span></p><p id="__paragraph__1319631465000" style=""><br><span style=""></span></p><p id="__paragraph__1319631465000" style=""><br><span style=""></span></p><p id="__paragraph__1319631465000" style=""><span style="">Thanks</span><span></span></p><p id="__paragraph__1319631469000" style=""><span style="">João<br></span></p><p><span></span></p><basefont size="2" face="Verdana"></body></html>