aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Map/OSM.pm
diff options
context:
space:
mode:
authorM Somerville <matthew-github@dracos.co.uk>2020-08-13 21:15:08 +0100
committerM Somerville <matthew-github@dracos.co.uk>2020-08-14 16:41:10 +0100
commite268e2b893aaf8a99e457c085e9c77d140b77233 (patch)
treeda4ff9203cef65e41e4110909df2e3296e178868 /perllib/FixMyStreet/Map/OSM.pm
parenta049a21d86ae8f4b92f3cf7c78f96ab777a9a88f (diff)
Allow one more zoom level on most map types.
Not on StreetView/OpenMap Local based, which are not available.
Diffstat (limited to 'perllib/FixMyStreet/Map/OSM.pm')
-rw-r--r--perllib/FixMyStreet/Map/OSM.pm15
1 files changed, 9 insertions, 6 deletions
diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm
index 47c1c8535..082605568 100644
--- a/perllib/FixMyStreet/Map/OSM.pm
+++ b/perllib/FixMyStreet/Map/OSM.pm
@@ -11,8 +11,9 @@ use Math::Trig;
use FixMyStreet::Gaze;
use Utils;
-use constant ZOOM_LEVELS => 6;
+use constant ZOOM_LEVELS => 7;
use constant MIN_ZOOM_LEVEL => 13;
+use constant DEFAULT_ZOOM => 3;
sub map_type { 'OpenLayers.Layer.OSM.Mapnik' }
@@ -76,10 +77,6 @@ sub generate_map_data {
my $numZoomLevels = $self->ZOOM_LEVELS;
my $zoomOffset = $self->MIN_ZOOM_LEVEL;
- if ($params{any_zoom}) {
- $numZoomLevels = 19;
- $zoomOffset = 0;
- }
# Adjust zoom level dependent upon population density if cobrand hasn't
# specified a default zoom.
@@ -89,7 +86,13 @@ sub generate_map_data {
} else {
my $dist = $data->{distance}
|| FixMyStreet::Gaze::get_radius_containing_population( $params{latitude}, $params{longitude} );
- $default_zoom = $dist < 10 ? $numZoomLevels - 3 : $numZoomLevels - 4;
+ $default_zoom = $dist < 10 ? $self->DEFAULT_ZOOM : $self->DEFAULT_ZOOM - 1;
+ }
+
+ if ($params{any_zoom}) {
+ $numZoomLevels += $zoomOffset;
+ $default_zoom += $zoomOffset;
+ $zoomOffset = 0;
}
my $zoom = $data->{zoom} || $default_zoom;