[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