aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Map.pm
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2011-06-30 16:56:12 +0100
committerStruan Donald <struan@exo.org.uk>2011-06-30 16:56:12 +0100
commit0e6bb3e802c0614d64366bd19732b37a574dc12c (patch)
tree01b5d111754a0acef3f8a71da526ce1fbe59de55 /perllib/FixMyStreet/Map.pm
parentb756440e4b5c0b356ee0d65d1647124317535c95 (diff)
parentfb78afe61194ea9b6fbec9596d69627e315ab97f (diff)
Merge branch 'master' of ssh://git.mysociety.org/data/git/public/fixmystreet into new_statuses
Conflicts: perllib/FixMyStreet/App/Controller/Reports.pm
Diffstat (limited to 'perllib/FixMyStreet/Map.pm')
-rw-r--r--perllib/FixMyStreet/Map.pm25
1 files changed, 21 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/Map.pm b/perllib/FixMyStreet/Map.pm
index 125aca9e6..6b5a811a6 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;