[Users] removing a popup window from a map

Andreas Hocevar ahocevar at opengeo.org
Wed Feb 17 14:58:08 CET 2010


On 2010-02-17 14:29, Vince Lotito wrote:
> Hi,
>
> Thank you for the quick response. I've added mapPanel.remove(popup) and now I am logging this error:
>
> this.items is undefined
> http://192.168.111.141/ext/ext-all.js
> Line 64
>
> Any ideas?
>   

Oh, sorry. A popup, like Ext.Window, is not a container's item. Anyway,

popup.destroy();

instead of

popup.close();

should do the trick.


Regards,
Andreas.

> Vince
>  
>   
>> -----Original Message-----
>> From: users-bounces at geoext.org [mailto:users-bounces at geoext.org] On Behalf
>> Of Andreas Hocevar
>> Sent: Wednesday, February 17, 2010 5:07 AM
>> To: users at geoext.org
>> Subject: Re: [Users] removing a popup window from a map
>>
>> Hi,
>>
>> you should use
>>
>> mapPanel.remove(popup);
>>
>> rather than
>>
>> popup.close();
>>
>> Regards,
>> Andreas.
>>
>> On 2010-02-17 06:24, Vince Lotito wrote:
>>     
>>> Hello,
>>>
>>>
>>>
>>> I am building a popup window  for a map feature unsing GeoExt.Popup as
>>> follows:
>>>
>>>
>>>
>>> if (! (pin in popupCache)) {
>>>
>>>       //  create it
>>>
>>>       popup = new GeoExt.Popup({
>>>
>>>             title: pin,
>>>
>>>             layout: "accordion",
>>>
>>>             anchored: true,
>>>
>>>             feature: e.feature,
>>>
>>>             map: map,
>>>
>>>             lonlat: map.getLonLatFromPixel(new
>>> OpenLayers.Pixel(e.xy.x, e.xy.y)),
>>>
>>>             width:250,
>>>
>>>             html: html,
>>>
>>>             autoScroll: true,
>>>
>>>             collapsible: true,
>>>
>>>             // add a listener to capture a close event
>>>
>>>             listeners: {
>>>
>>>                   close: (function (pin) {
>>>
>>>                         return function (panel) {
>>>
>>>                               delete popupCache[pin];  // remove it
>>> from the cache
>>>
>>>                         };
>>>
>>>             })(pin),
>>>
>>>                   scope: this
>>>
>>>             }
>>>
>>>    });
>>>
>>>       popup.show();
>>>
>>>       popupCache[pin] = popup;
>>>
>>> }
>>>
>>>
>>>
>>> I am using a popCache to limit feature popups to 1 popup window per
>>> pin (associated with a parcel) and global close on all popups. I am
>>> using the following function to remove all popups from the map:
>>>
>>>
>>>
>>> for (pin in popupCache) {
>>>
>>>     popup = popupCache[pin];
>>>
>>>     popup.close();
>>>
>>> }
>>>
>>>
>>>
>>> This works fine for all popups that are in visible extent, however it
>>> does nothing to other popup windows that are not visible in the extent
>>> but associated with the map.  How can I force close all popups on the
>>> map/map panel regardless of the extent viewed?
>>>
>>>
>>>
>>> Any help is greatly appreciated.
>>>
>>> Vince
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at geoext.org
>>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>>
>>>       
>>
>> --
>> Andreas Hocevar
>> OpenGeo - http://opengeo.org/
>> Expert service straight from the developers.
>>
>> _______________________________________________
>> Users mailing list
>> Users at geoext.org
>> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>>     
> _______________________________________________
> Users mailing list
> Users at geoext.org
> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>   


-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.



More information about the Users mailing list