Hello, thanks a lot for the answer.
> http://www.openlayers.org/dev/examples/sundials.html > > has everything you are requesting above. Thanks for pointing to this file. I tried to adapt the kml-layer.html (from examples) to use a marker instead of a kml file. Please see below. Why does the marker not show a popup on click? Do you have an idea? >> My markers shall use lat/lon variables taken from a database (not like >> the text file example). >> > > If you take them from a database, you have to format them in some way > before transmitting to the client. Easiest options include GeoJSON and > the text file you mentioned. Why don't you like that one? I want to display a search result. Using a text or KML file would mean that I would always have to write a new file to disk when the search gets modified. I do not yet know GeoJSON. I have to check how to create placemark-like icons. Thanks in advance and kind regards, Timmie ##### <script type="text/javascript"> var lon = 5; var lat = 40; var zoom = 5; var map, layer; function init(){ map = new OpenLayers.Map('map'); layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ); map.addLayer(layer); var sundials = new OpenLayers.Layer.Markers("Project Sites"); map.addLayers(sundials); var point = new OpenLayers.LonLat(-112.292238941097,36.09520916122063); var marker = new OpenLayers.Marker(point); sundials.addMarker(marker); /* var sundials = new OpenLayers.Layer.GML("KML", "kml/point.kml", { format: OpenLayers.Format.KML, formatOptions: { extractStyles: true, extractAttributes: true, maxDepth: 2 } }); */ map.addLayer(sundials) select = new OpenLayers.Control.SelectFeature(sundials); sundials.events.on({ "featureselected": onFeatureSelect, "featureunselected": onFeatureUnselect }); map.addControl(select); select.activate(); map.zoomToExtent(new OpenLayers.Bounds(-112.306698,36.017792,-112.03204,36.18087)); } function onPopupClose(evt) { select.unselectAll(); } function onFeatureSelect(event) { var feature = event.feature; // Since KML is user-generated, do naive protection against // Javascript. var content = "<h2>TEST</h2>" + "some description"; 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 onFeatureUnselect(event) { var feature = event.feature; if(feature.popup) { map.removePopup(feature.popup); feature.popup.destroy(); delete feature.popup; } } </script> _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
