AW: [OpenLayers-Users] New Popup windows
Arnd Wippermann
arnd.wippermann at web.de
Sat Jun 18 08:21:10 EDT 2011
There is no function in OpenLayers to create a popup as a new window. You
have to do it by yourself.
Below how it should work:
getfeatureinfo: function(event)
{
//PopupWindow(Links, Oben, dieBreite, dieHoehe, dieUrl, derInhalt,
targetValue)
PopupWindow(100, 100, 300, 400, "", event.text, "_new")
}
//##########################################################################
#################
// popup window handling, close child windows
//##########################################################################
#################
function PopupWindow(Links, Oben, dieBreite, dieHoehe, dieUrl, derInhalt,
targetValue)
{
// neues Fenster öffnen
var szWinStyle = new String ("");
szWinStyle = 'toolbar=no, location=no, directories=no, status=yes,
menubar=no, scrollbars=yes, resizable=yes';
szWinStyle += ', top=' + Oben + ', left=' + Links + ', width=' +
dieBreite + 'px, height=' + dieHoehe +'px';
if(dieUrl!="")
var newWin = window.open (dieUrl, targetValue, szWinStyle);
else
{
var newWin = window.open ("about:blank", targetValue, szWinStyle);
newWin.document.Open();
newWin.document.Write(derInhalt);
newWin.document.Close();
}
newWin.focus();
WinHandlesArr[WinHandlesArr.length] = newWin;
return(true);
}
//globales Array für Fenster handles
var WinHandlesArr = new Array();
window.onunload = function ()
{
for(var i=0;i<WinHandlesArr.length;i++)
{ if(WinHandlesArr[i]!=0)
{ if(!WinHandlesArr[i].closed)
WinHandlesArr[i].close();
}
}
}
//##########################################################################
#################
Online Example with popup as new window:
http://gis.ibbeck.de/ginfo/apps/OLExamples/OL26/examples/select-feature-with
-function.html
Arnd
-----Ursprüngliche Nachricht-----
Von: openlayers-users-bounces at lists.osgeo.org
[mailto:openlayers-users-bounces at lists.osgeo.org] Im Auftrag von Joel
Leininger
Gesendet: Samstag, 18. Juni 2011 01:13
An: openlayers-users at lists.osgeo.org
Betreff: [OpenLayers-Users] New Popup windows
I'm trying to create popups that are new windows, not part of the main map
window. This seems like it should be fairly straightforward to do, but I'm
only a novice javascript programmer, and I can't make heads nor tails out of
the docs for OpenLayers.Popup.
I have Popup.FramedCloud working, and everything is correct with respect to
its contents. I only need to have popup generate a new, stand-alone window.
Can someone point me in the right direction?
Here is my FramedCloud (working) code:
var popup = null;
info = new OpenLayers.Control.WMSGetFeatureInfo({
url:
'http://www.martenet.com/cgi-bin/mapserv?map=/home/public/sjm_ops/GeoData/BA
-Grids.map',
title: 'Identify features by clicking',
queryVisible: true,
eventListeners: {
getfeatureinfo: function(event) {
if (!event.text.match(/<body>\s*<\/body>/)) {if (popup)
{popup.destroy(); popup = null;}
popup = new OpenLayers.Popup.FramedCloud(
"popup",
map.getLonLatFromPixel(event.xy),
null,
event.text,
null,
true
);
map.addPopup(popup);
}
}
}
});
map.addControl(info);
info.activate();
Thanks in advance for any help.
-J.
_______________________________________________
Users mailing list
Users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/openlayers-users
More information about the Users
mailing list