From 81c55de7598ff15f56de6341727ed46f7f9eed18 Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Wed, 29 Jun 2011 22:39:50 +0100 Subject: Move to Vector layer rather than Markers, to be able to use the Strategy/Protocol features. --- perllib/FixMyStreet/Map.pm | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'perllib/FixMyStreet/Map.pm') 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; -- cgit v1.2.3 From 6db910f24b1c25bb32369fafde79cf0da83abed0 Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Thu, 30 Jun 2011 01:36:20 +0100 Subject: Strategy/Format for updating pins as map is panned. --- perllib/FixMyStreet/Map.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/Map.pm') diff --git a/perllib/FixMyStreet/Map.pm b/perllib/FixMyStreet/Map.pm index 97482a761..6b5a811a6 100644 --- a/perllib/FixMyStreet/Map.pm +++ b/perllib/FixMyStreet/Map.pm @@ -83,7 +83,7 @@ sub map_features_bounds { my $lon = ( $max_lon + $min_lon ) / 2; return _map_features( $c, $lat, $lon, - $min_lon, $min_lat. + $min_lon, $min_lat, $max_lon, $max_lat, $interval ); -- cgit v1.2.3