From c56f704e998b418aa3f11d5e3b6b86d6c7ce40e6 Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Wed, 9 Mar 2011 22:21:04 +0000 Subject: Fixes to other map types to work with lat/lon. Split OSM JavaScript into core OpenLayers bits and OSM config bit. --- web/js/map-OpenLayers.js | 181 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 web/js/map-OpenLayers.js (limited to 'web/js/map-OpenLayers.js') diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js new file mode 100644 index 000000000..3b887c10d --- /dev/null +++ b/web/js/map-OpenLayers.js @@ -0,0 +1,181 @@ +YAHOO.util.Event.onContentReady('map', function() { + + fixmystreet.ZOOM_OFFSET = 14; + + 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.ZOOM_OFFSET, + numZoomLevels: 4 + }, 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, 2); + } + + 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; + }); + + fixmystreet.markers = new OpenLayers.Layer.Markers("Markers"); + var cols = { 'red':'R', 'green':'G', 'blue':'B', 'purple':'P' }; + for (var i=0; i Date: Wed, 23 Mar 2011 21:04:02 +0000 Subject: Always have transitionEffect, and no buffer for nicer interaction. --- web/js/map-OpenLayers.js | 1 + 1 file changed, 1 insertion(+) (limited to 'web/js/map-OpenLayers.js') diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js index 3b887c10d..1134bafb7 100644 --- a/web/js/map-OpenLayers.js +++ b/web/js/map-OpenLayers.js @@ -12,6 +12,7 @@ YAHOO.util.Event.onContentReady('map', function() { fixmystreet.layer_options = OpenLayers.Util.extend({ zoomOffset: fixmystreet.ZOOM_OFFSET, + transitionEffect: 'resize', numZoomLevels: 4 }, fixmystreet.layer_options); var layer = new fixmystreet.map_type("", fixmystreet.layer_options); -- cgit v1.2.3