aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/map-OpenLayers.js
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2012-11-26 17:06:17 +0000
committerMatthew Somerville <matthew@mysociety.org>2012-11-26 17:06:17 +0000
commit31667efeb9957169ffd5ecf27333dc680bab379c (patch)
tree5825ed495bea9be1cf37b2d6097aed58d83b136c /web/js/map-OpenLayers.js
parent84d6ec9717c8e737dfdee0f04272a4cd955daae2 (diff)
Write out layer explicitly so no AJAX request necessary and deal with all OL options the same.
Diffstat (limited to 'web/js/map-OpenLayers.js')
-rw-r--r--web/js/map-OpenLayers.js76
1 files changed, 31 insertions, 45 deletions
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js
index 8506f8076..85ab09889 100644
--- a/web/js/map-OpenLayers.js
+++ b/web/js/map-OpenLayers.js
@@ -254,56 +254,42 @@ $(function(){
// template should define this
set_map_config();
- // If the aforementioned js defined it's own setup method
- // call that instead of setting the map up ourselves
- if(typeof fixmystreet.map_setup !== "undefined") {
- fixmystreet.map_setup(function () {
- // TODO - can this go inside afterMapInit() so it's not duped?
- if ($('html').hasClass('mobile') && fixmystreet.page == 'around') {
- $('#fms_pan_zoom').css({ top: '2.75em !important' });
- }
- afterMapInit();
- });
+ // Create the basics of the map
+ fixmystreet.map = new OpenLayers.Map(
+ "map", OpenLayers.Util.extend({
+ controls: fixmystreet.controls,
+ displayProjection: new OpenLayers.Projection("EPSG:4326")
+ }, fixmystreet.map_options)
+ );
+
+ if ($('html').hasClass('mobile') && fixmystreet.page == 'around') {
+ $('#fms_pan_zoom').css({ top: '2.75em !important' });
}
- else {
- // TODO - can this go inside afterMapInit() so it's not duped?
- if ($('html').hasClass('mobile') && fixmystreet.page == 'around') {
- $('#fms_pan_zoom').css({ top: '2.75em !important' });
- }
- // Create the basics of the map
- fixmystreet.map = new OpenLayers.Map("map", {
- controls: fixmystreet.controls,
- displayProjection: new OpenLayers.Projection("EPSG:4326")
- }
- );
+ // Set it up our way
+ fixmystreet.layer_options = OpenLayers.Util.extend({
+ zoomOffset: fixmystreet.zoomOffset,
+ transitionEffect: 'resize',
+ numZoomLevels: fixmystreet.numZoomLevels
+ }, fixmystreet.layer_options);
- // Set it up our way
- 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);
- }
+ var layer;
+ if (fixmystreet.layer_options.matrixIds) {
+ layer = new fixmystreet.map_type(fixmystreet.layer_options);
+ } else {
+ layer = new fixmystreet.map_type("", fixmystreet.layer_options);
+ }
+ fixmystreet.map.addLayer(layer);
- // Do the stuff we need to do after the map has
- // been created
- afterMapInit();
+ 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);
}
-});
-// Stuff to do after the map has been created
-function afterMapInit() {
if (fixmystreet.state_map && fixmystreet.state_map == 'full') {
// TODO Work better with window resizing, this is pretty 'set up' only at present
var $content = $('.content'), mb = $('#map_box'),
@@ -373,7 +359,7 @@ function afterMapInit() {
} else {
fixmystreet_onload();
}
-}
+});
/* Overridding the buttonDown function of PanZoom so that it does
zoomTo(0) rather than zoomToMaxExtent()