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: [email protected]
[mailto:[email protected]] Im Auftrag von Joel
Leininger
Gesendet: Samstag, 18. Juni 2011 01:13
An: [email protected]
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
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

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

Reply via email to