diff options
author | Matthew Somerville <matthew@mysociety.org> | 2011-06-29 22:39:50 +0100 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2011-06-29 22:44:06 +0100 |
commit | 81c55de7598ff15f56de6341727ed46f7f9eed18 (patch) | |
tree | 3f6722764b2f5a93a4de2b317764652627dc4e6a /perllib/FixMyStreet/Map.pm | |
parent | 18466c1477b47c7d8abf186d78f4ba21df9c18ff (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.pm | 25 |
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; |