> i want to open/show a label or popup by clicking on the icon in the map. > this label should show the name which is written in the kml file, in this > case the "Tractor1". > >
See the KML examples but basics are - use a SelectFeature control and assign events to featurehighlighted and featureunhighlighted. My onfeaturehighlighted (following the examples closely), looks like below. Note the feature.attributes.name which what you want. function onKmlFeatureSelect(event) { var feature = event.feature; // Since KML is user-generated, do naive protection against // Javascript. var content if (feature.style.balloonStyle) { // Use Style.js to replace balloonstyle variables with attribute values content = OpenLayers.Style.createLiteral(feature.style.balloonStyle, feature); } else if (!feature.attributes.description && !feature.attributes.name) { content = "<table border=\"1\">\n"; for (var i in feature.attributes){ content += "<tr><td>" + feature.attributes[i] + "</td></tr>\n"; } content += "</table>\n"; } else { content = '<table><tr bgcolor="#9CBCE2"><th>' + feature.attributes.name + "</th></tr></table>" + feature.attributes.description; } if (content.search("<script") != -1) { content = "Content contained Javascript! Escaped content below.<br />" + content.replace(/</g, "<"); } 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); } function onKmlFeatureUnselect(event) { var feature = event.feature; if(feature.popup) { map.removePopup(feature.popup); feature.popup.destroy(); delete feature.popup; } } function onPopupClose(evt) { if (kmlSelectControl != null) kmlSelectControl.unselectAll(); } -- 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 Users@openlayers.org http://openlayers.org/mailman/listinfo/users