function addMarker(lonlat, popupContentHTML, closeBox, overflow) { var size = new OpenLayers.Size(20,14); var offset = new OpenLayers.Pixel(-(size.w/2), -size.h); var icon = new OpenLayers.Icon('http://wiki.christian-willmes.de/extensions/usermap/cmIcon.png',size,offset); var feature = new OpenLayers.Feature(markers, lonlat); feature.closeBox = closeBox; feature.popupClass = OpenLayers.Class(OpenLayers.Popup.AnchoredBubble, { 'autoSize': true, 'minSize': new OpenLayers.Size(280,120), 'panMapIfOutOfView' : true }); feature.data.popupContentHTML = popupContentHTML; feature.data.overflow = (overflow) ? 'auto' : 'hidden'; feature.data.icon = icon; var marker = feature.createMarker(); var markerClick = function (evt) { if (this.popup == null) { this.popup = this.createPopup(this.closeBox); cmac2map.addPopup(this.popup); this.popup.show(); } else { this.popup.toggle(); } currentPopup = this.popup; OpenLayers.Event.stop(evt); }; marker.events.register('mousedown', feature, markerClick); markers.addMarker(marker); } var cmac2map = new OpenLayers.Map ('cmac2map', { maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), maxResolution: 156543.0399, units: 'm', projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326") } ); //mapnik var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik"); //TilesAtHome var tah = new OpenLayers.Layer.OSM.Osmarender("Osmarender"); //CycleMap var CM = new OpenLayers.Layer.OSM.CycleMap("CycleMap"); //Metacarta OpenLayers WMS var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'}); cmac2map.addLayers([tah, CM, mapnik, ol_wms]); var center = new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), cmac2map.getProjectionObject()); cmac2map.setCenter(center, 2); cmac2map.addControl( new OpenLayers.Control.LayerSwitcher() ); var markers = new OpenLayers.Layer.Markers('Courses'); lonlat = new OpenLayers.LonLat(6.92895, 50.92819).transform(new OpenLayers.Projection("EPSG:4326"), cmac2map.getProjectionObject()); popupContentHTML = 'Course: testCourse
Organization: University of Cologne
Location: Cologne, Germany
Coordinates: 6.92895, 50.92819
Description: A test course'; addMarker(lonlat, popupContentHTML, true, true); cmac2map.addLayer(markers);