[OpenLayers-Users] popup doesn't appear in IE

Tara Athan tara_athan at alt2is.com
Wed Mar 12 23:11:03 EDT 2008


Thanks for all your help with the coordinates from a mouseclick question.
I was able to get a page doing what I needed :) ..., I thought, until I 
checked it in IE... :(
It works perfectly in Firefox, but in IE7, the popup does not appear, 
just the marker.
Thanks for your help.
Tara
This is the code, which is in the <body> element.
 <script defer="defer" type="text/javascript">
    var map = new OpenLayers.Map( 'map', {controls: [new 
OpenLayers.Control.PanZoomBar()]} );
    var layer_switcher = new OpenLayers.Control.LayerSwitcher();
    map.addControl(layer_switcher);
    map.addControl(new OpenLayers.Control.MousePosition());
    var google = new OpenLayers.Layer.Google("Google");
    var googleh = new OpenLayers.Layer.Google("Google Hybrid", { 'type': 
G_HYBRID_MAP });
    map.addLayers([google, googleh]);
        var lon = -123;
        var lat = 39.5;
        var zoom = 8;
    map.setCenter(new OpenLayers.LonLat(lon,lat), zoom);
    var markers = new OpenLayers.Layer.Markers( "Markers" );
    map.addLayer(markers);
   
    map.events.register('click', map, handleMapClick);

        function handleMapClick(evt) {
          var lonlat = map.getLonLatFromViewPortPx(new 
OpenLayers.Pixel(evt.xy.x , evt.xy.y) );
        var size = new OpenLayers.Size(10,17);
        var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
          var icon = new 
OpenLayers.Icon('http://boston.openguides.org/markers/AQUA.png',size,offset);
       markers.addMarker(new OpenLayers.Marker(lonlat,icon));
       

          var poptext = 'Longitude: '+
                String.substr(lonlat.lon,0,11)+
                '<br />Latitude: '+
                String.substr(lonlat.lat,0,10)+
                '<br />';
          poptext = poptext+'<a href="../index2.php?';
          poptext = poptext+'lon='+lonlat.lon;
          poptext = poptext+'&lat='+lonlat.lat;
          poptext = poptext+'">Click Here to Report Weeds</a>';
      popup = new OpenLayers.Popup("chicken",
                                   lonlat,
                                   new OpenLayers.Size(250,80),
                                   poptext, true);
 
      map.addPopup(popup);         
        }
  </script>



More information about the Users mailing list