aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Map.pm
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2011-06-29 22:39:50 +0100
committerMatthew Somerville <matthew@mysociety.org>2011-06-29 22:44:06 +0100
commit81c55de7598ff15f56de6341727ed46f7f9eed18 (patch)
tree3f6722764b2f5a93a4de2b317764652627dc4e6a /perllib/FixMyStreet/Map.pm
parent18466c1477b47c7d8abf186d78f4ba21df9c18ff (diff)
Move to Vector layer rather than Markers, to be able to use the Strategy/Protocol features.
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..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;