YAHOO.util.Event.onContentReady('map', function() { var perm = new OpenLayers.Control.Permalink(); set_map_config(perm); fixmystreet.map = new OpenLayers.Map("map", { controls: fixmystreet.controls, displayProjection: new OpenLayers.Projection("EPSG:4326") }); fixmystreet.layer_options = OpenLayers.Util.extend({ zoomOffset: fixmystreet.zoomOffset, transitionEffect: 'resize', numZoomLevels: fixmystreet.numZoomLevels }, fixmystreet.layer_options); var layer = new fixmystreet.map_type("", fixmystreet.layer_options); fixmystreet.map.addLayer(layer); if (!fixmystreet.map.getCenter()) { var centre = new OpenLayers.LonLat( fixmystreet.longitude, fixmystreet.latitude ); centre.transform( new OpenLayers.Projection("EPSG:4326"), fixmystreet.map.getProjectionObject() ); fixmystreet.map.setCenter(centre, fixmystreet.zoom || 3); } if (document.getElementById('mapForm')) { var click = new OpenLayers.Control.Click(); fixmystreet.map.addControl(click); click.activate(); } /* To let permalink not be caught by the Click layer, answer found * at http://www.mail-archive.com/users@openlayers.org/msg12958.html * Not sure why you can't use eventListeners or events.register... */ OpenLayers.Event.observe( perm.element, "click", function(e) { OpenLayers.Event.stop(e); location.href = OpenLayers.Event.element(e).href; return false; }); var pin_layer_options = { styleMap: new OpenLayers.StyleMap({ 'default': new OpenLayers.Style({ externalGraphic: "/i/pin${type}.gif", graphicWidth: 32, graphicHeight: 59, graphicOpacity: 1, graphicXOffset: -1, graphicYOffset: -59 }) }) }; if (fixmystreet.page == 'around') { //pin_layer_options.strategies = [ new OpenLayers.Strategy.BBOX() ]; //pin_layer_options.protocol = new OpenLayers.Protocol.HTTP({ // url: '/rss', // params: fixmystreet.all_pins ? { all_pins: 1 } : { }, // format: OpenLayers.Format.GeoRSS //}); } fixmystreet.markers = new OpenLayers.Layer.Vector("Pins", pin_layer_options); var cols = { 'red':'R', 'green':'G', 'blue':'B', 'purple':'P' }; var markers = []; for (var i=0; i