Hello,

 

I successfully implemented WFS-Layers with individual symbols by creating an 
OpenLayers feature class for each layer. These symbols are clickable via 
clickevent that opens a Popup which is filled with informations by a 
GetFeatureRequest. In Internet Explorer everything works fine but in Firefox I 
have the following problem with the popup: After panning the map, some of the 
popups do no longer open on the symbol but are displaced and open with an 
offset away from the symbol - that does not occur always to the same WFS but 
changes. The problem is, that the popups then also don't get the informations 
and there is no error-message in firefox (I'm working with version 3.0).

 

You can see a live-demo here: 
http://services.metropoleruhr.de/ol_print/ol_viewer.html

 

Does anybody know how to fix this problem?

 

Thanks for your help and greetings from Marleen

 

 

Hi Marc,

 

when you start the client in Firefox, you afterwards have to zoom in twice, 
then the symbols of the overlays occur - when you then pan the map (drag&drop 
while the left mouse is pressed) and afterwards click on the symbols, some of 
the popups don't opne right at the symbol but displaced in the map - not always 
the same symbols behave like this and Firefox doesn't give an error-message 
-all that makes it very difficult to find the error... I hope this description 
helps so far?

 

Thanks and greetings

Marleen

 

Hello again,

thanks a lot for your answer, Marc.

In the case, when the popup doesn't display any content, there is a 'NULL' in 
the database - this error will be solved in january by myself via the database. 
But I don't know, how to solve the problem with the displaced popups after one 
panned the map. You asked, how I obtain the clicked ccordinate. Here my 
source-code: 

function addClickEvent( wfslayer, typename) 

        { 

            // WFS-Abfrage + Popup-Initialisierung 

            //Definition der BoundingBox-Größe 

           OpenLayers.Events.prototype.includeXY = true; 

            wfslayer.events.register("click", map, function(e){

 

                // Mauspostition bestimmen 

                // (konvertiert von Pixel in o.g. EPSG-Koordinaten) 

                var lonlat = map.getLonLatFromPixel(e.xy); 

               //alert(lonlat); 

 

                // Toleranzwert 'delta' berechnet mit geometrischer 

                // Folge: 1000*(0.5)^(zoomlevel) 

                var delta = 1000 * Math.pow(0.5, map.getZoom() ); 

                var more = lonlat.add(delta, delta); 

                var less = lonlat.add(-delta, -delta); 

                var boundingbox = less.lon + "," + less.lat + "," + more.lon + 
"," + more.lat; 

              //alert(boundingbox); 

 

                // WFS-Abfrage 

                var url_rvr =  wfslayer.getFullRequestString({ 

                    REQUEST: "GetFeature", 

                    BBOX: boundingbox, 

                    INFO_FORMAT: 'text/plain', 

                    TYPENAME: typename 

                }); 

                OpenLayers.loadURL(url_rvr, '', this, setHTML); 

 

                // Popup-Initialisierung 

                popup = new OpenLayers.Popup.AnchoredBubble("siteinfo", lonlat, 
new OpenLayers.Size(180, 270)); 

              //popup.AutoSize =  true; 

                popup.setContentHTML("<div id='mapinfobox'><div 
id='nodelist'></div></div>"); 

                popup.setOpacity(1.0); 

                popup.setBackgroundColor("FFFFFF");                 

                popup.addCloseBox(destroy); 

                map.addPopup(popup, true); 

                $('nodelist').innerHTML = "Searching for data..."; 

                Event.stop(e); 

 

              }); 

        }

 

Do you really think, it could be a problem with the projection? I would in this 
case expect, that the popup-displacement also occurs in the InternetExplorer - 
or do the browsers handle projections in different ways? 

 

Here my source-code concerning the projection in OpenLayers:

 

 //*** edit EPSG options here! *** 
            var options_31466 = {
                projection:"EPSG:31466",
                               scales: [250000, 50000, 15000, 10000, 5000, 
2500, 1000],
                maxExtent: new OpenLayers.Bounds(2520400, 5675000, 2638545, 
5744500),
                maxResolution: 'auto',
                numZoomLevels: 7,
                controls: [],
                units: 'm'
            };                 
            map = new OpenLayers.Map('map', options_31466); 

I thought, it's enough to include the projection in this way and that 
OpenLayers then automatically does the rest?

Do I have to include proj4 as you wrote: 

* Are you sure that your projection is set correctly? Did you
     include a pro4.js-definition for 31466?

Proj4js.defs["EPSG:31466"] = "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 
+x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs"; 

Where do I have to put the Proj4.defs? 

Thanks a lot merry christmas and greetings

Marleen

 

 

Mit freundlichen Grüßen
Im Auftrag

Barbara Rauch


Klima u. Lufthygiene
Kronprinzenstraße 35
45128 Essen
Fon: +49 201 2069-399
Fax: +49 201 2069-400
[email protected]

 

Regionalverband Ruhr
Kronprinzenstraße 35
45128 Essen
Zentrale: +49 (0) 201 2069-0
Fax: +49 (0) 201 2069-500
www.rvr-online.de

Postfach 10 32 64
45032 Essen

Steuernummer: RVR 112/5775/0426
USt.-ldNr.: DE 173867500

Diese E-Mail koennte vertrauliche und/oder rechtlich geschuetzte Informationen 
enthalten.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtuemlich 
erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie 
diese Mail.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht 
gestattet.
This e-mail may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail.
Any unauthorised copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.

 

<<image001.jpg>>

_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to