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);