diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Around.pm | 1 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/New.pm | 4 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map.pm | 25 |
3 files changed, 22 insertions, 8 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Around.pm b/perllib/FixMyStreet/App/Controller/Around.pm index a49d796fc..ef85ba7ea 100644 --- a/perllib/FixMyStreet/App/Controller/Around.pm +++ b/perllib/FixMyStreet/App/Controller/Around.pm @@ -196,6 +196,7 @@ sub display_location : Private { } @$on_map_all, @$around_map; } + $c->stash->{page} = 'around'; # So the map knows to make clickable pins, update on pan FixMyStreet::Map::display_map( $c, latitude => $latitude, diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 4488ce8cd..3a7d18a1c 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -71,10 +71,6 @@ phone partial -=head2 can be ignored - -all_pins: related to map display - not relevant to creation of a new report - =cut sub report_new : Path : Args(0) { diff --git a/perllib/FixMyStreet/Map.pm b/perllib/FixMyStreet/Map.pm index 125aca9e6..97482a761 100644 --- a/perllib/FixMyStreet/Map.pm +++ b/perllib/FixMyStreet/Map.pm @@ -68,12 +68,29 @@ sub map_features { # use deltas that are roughly 500m in the UK - so we get a 1 sq km search box my $lat_delta = 0.00438; my $lon_delta = 0.00736; + return _map_features( + $c, $lat, $lon, + $lon - $lon_delta, $lat - $lat_delta, + $lon + $lon_delta, $lat + $lat_delta, + $interval + ); +} + +sub map_features_bounds { + my ( $c, $min_lon, $min_lat, $max_lon, $max_lat, $interval ) = @_; - my $min_lat = $lat - $lat_delta; - my $max_lat = $lat + $lat_delta; + my $lat = ( $max_lat + $min_lat ) / 2; + my $lon = ( $max_lon + $min_lon ) / 2; + return _map_features( + $c, $lat, $lon, + $min_lon, $min_lat. + $max_lon, $max_lat, + $interval + ); +} - my $min_lon = $lon - $lon_delta; - my $max_lon = $lon + $lon_delta; +sub _map_features { + my ( $c, $lat, $lon, $min_lon, $min_lat, $max_lon, $max_lat, $interval ) = @_; # list of problems around map can be limited, but should show all pins my $around_limit = $c->cobrand->on_map_list_limit || undef; |