diff options
author | M Somerville <matthew-github@dracos.co.uk> | 2020-08-13 21:15:08 +0100 |
---|---|---|
committer | M Somerville <matthew-github@dracos.co.uk> | 2020-08-14 16:41:10 +0100 |
commit | e268e2b893aaf8a99e457c085e9c77d140b77233 (patch) | |
tree | da4ff9203cef65e41e4110909df2e3296e178868 /perllib/FixMyStreet/Map/OSM.pm | |
parent | a049a21d86ae8f4b92f3cf7c78f96ab777a9a88f (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.pm | 15 |
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; |