[OpenLayers-Users] Pop-Up Sample Working on Multiple KML Layers

Arnd Wippermann arnd.wippermann at web.de
Mon Sep 29 14:59:08 EDT 2008


"perhaps using a conditional with respective check boxes?"

To use the same functions for different layers, I use a dropdownlist to set
the active layer
http://gis.ibbeck.de/ginfo/apps/OLExamples/OL26/examples/labels.html

and in a second example 
I have enhanced the layerswitcher to set a layer active and then can execute
functions for this layer.
http://gis.ibbeck.de/ginfo/apps/OLExamples/OL26/examples/labels_radiobtn.htm
l

Arnd Wippermann


-----Ursprüngliche Nachricht-----
Von: users-bounces at openlayers.org [mailto:users-bounces at openlayers.org] Im
Auftrag von Jeff_Hobbs at sjwater.com
Gesendet: Montag, 29. September 2008 19:17
An: users at openlayers.org
Betreff: [OpenLayers-Users] Pop-Up Sample Working on Multiple KML Layers

Hi,

Wanted to send this out again as I never got any replies.

Thanks in advance!

Jeff

----------------------------------------------

Hi,

I'm using the "generic" pop-up sample in my OL application. I have four KML
files on top of a Yahoo backdrop. I'd like to be able to click on any one of
the four KML layers and have a pop-up showing me the respective attributes.
The pop-up sample does this for one layer. Is there a way to implement for
more than one layer? If so, would anybody by chance have some sample code
they could point me to? If not, any suggested workarounds, perhaps using a
conditional with respective check boxes?

I've pasted the pop-up code below for reference.

Thanks in advance to all!

Jeff

=================================
// This is the pop-up logic
                selectControl = new
OpenLayers.Control.SelectFeature(map.layers[3], { // Need to get this to
work on multiple layers!
                    onSelect: onFeatureSelect,
                    onUnselect: onFeatureUnselect
                })
				
                map.addControl(selectControl);
                selectControl.activate();
                
                function onPopupClose(evt){
                    selectControl.unselect(selectedFeature);
                }
                
                function onFeatureSelect(feature){
                    selectedFeature = feature;
                    popup = new OpenLayers.Popup.FramedCloud("chicken",
feature.geometry.getBounds().getCenterLonLat(), new OpenLayers.Size(100,
100), "<h2>" + feature.attributes.name + "</h2>" + "<h2>" +
feature.attributes.description + "</h2>", null, true, onPopupClose);
                    popup.border = '1px solid black';
                    popup.opacity = .8;
                    popup.autoSize = true;
                    popup.panMapIfOutOfView = true;
                    feature.popup = popup;
                    map.addPopup(popup);
                }
                
                function onFeatureUnselect(feature){
                    map.removePopup(feature.popup);
                    feature.popup.destroy();
                    feature.popup = null;
                }


_______________________________________________
Users mailing list
Users at openlayers.org
http://openlayers.org/mailman/listinfo/users




More information about the Users mailing list