I'm late to party on this one, but I had same problem.

First - declare popup at top of js so its scope is global.

Inside, the onselect I have:
                 if (popup) {
                   map.removePopup(popup);
                   popup = null;
                 }
                 popup = new OpenLayers.Popup.FramedCloud("chicken",
                                          
feature.geometry.getBounds().getCenterLonLat(),
                                          new OpenLayers.Size(100,100),
                                          content,
                                          null, true, onPopupClose);
                 feature.popup = popup;
                 map.addPopup(popup);


unselect code is:
             var feature = event.feature;
             if(feature.popup) {
                 map.removePopup(feature.popup);
                 feature.popup.destroy();
                 delete feature.popup;
                 popup = null;
             }


-- 
Phil Scadden, Senior Scientist GNS Science Ltd 764 Cumberland St, 
Private Bag 1930, Dunedin, New Zealand Ph +64 3 4799663, fax +64 3 477 5232

Notice: This email and any attachments are confidential. If received in error 
please destroy and immediately notify us. Do not copy or disclose the contents.

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

Reply via email to