aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/Cobrand/Peterborough.pm1
-rw-r--r--perllib/FixMyStreet/Map/OSM.pm15
2 files changed, 11 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Peterborough.pm b/perllib/FixMyStreet/Cobrand/Peterborough.pm
index 1bd0c83fb..bdd19a338 100644
--- a/perllib/FixMyStreet/Cobrand/Peterborough.pm
+++ b/perllib/FixMyStreet/Cobrand/Peterborough.pm
@@ -13,6 +13,7 @@ sub council_area { 'Peterborough' }
sub council_name { 'Peterborough City Council' }
sub council_url { 'peterborough' }
sub map_type { 'MasterMap' }
+sub default_map_zoom { 5 }
sub send_questionnaires { 0 }
diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm
index ef465d7dc..417fdca0b 100644
--- a/perllib/FixMyStreet/Map/OSM.pm
+++ b/perllib/FixMyStreet/Map/OSM.pm
@@ -77,11 +77,16 @@ sub generate_map_data {
$zoomOffset = 0;
}
- # Adjust zoom level dependent upon population density
- my $dist = $data->{distance}
- || FixMyStreet::Gaze::get_radius_containing_population( $params{latitude}, $params{longitude} );
- my $default_zoom = $data->{cobrand}->default_map_zoom() || ($numZoomLevels - 4);
- $default_zoom = $numZoomLevels - 3 if $dist < 10;
+ # Adjust zoom level dependent upon population density if cobrand hasn't
+ # specified a default zoom.
+ my $default_zoom;
+ if (my $cobrand_default_zoom = $data->{cobrand}->default_map_zoom) {
+ $default_zoom = $cobrand_default_zoom;
+ } else {
+ my $dist = $data->{distance}
+ || FixMyStreet::Gaze::get_radius_containing_population( $params{latitude}, $params{longitude} );
+ $default_zoom = $dist < 10 ? $numZoomLevels - 3 : $numZoomLevels - 4;
+ }
my $zoom = $data->{zoom} || $default_zoom;
$zoom = $numZoomLevels - 1 if $zoom >= $numZoomLevels;