diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Around.pm | 11 | ||||
-rwxr-xr-x | perllib/FixMyStreet/App/Controller/Questionnaire.pm | 6 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report.pm | 6 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/New.pm | 6 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/OSM.pm | 14 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/Tilma/Original.pm | 23 |
6 files changed, 28 insertions, 38 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Around.pm b/perllib/FixMyStreet/App/Controller/Around.pm index 38e6025db..ac665055b 100644 --- a/perllib/FixMyStreet/App/Controller/Around.pm +++ b/perllib/FixMyStreet/App/Controller/Around.pm @@ -180,10 +180,13 @@ sub display_location : Private { $c->stash->{distance} = $distance; # create a list of all the pins - my @pins = map { - my $pin_colour = $_->{state} eq 'fixed' ? 'green' : 'red'; - [ $_->{latitude}, $_->{longitude}, $pin_colour, $_->{id}, $_->{title} ]; - } @$on_map_all, @$around_map; + my @pins = map { { + latitude => $_->{latitude}, + longitude => $_->{longitude}, + colour => $_->{state} eq 'fixed' ? 'green' : 'red', + id => $_->{id}, + title => $_->{title}, + } } @$on_map_all, @$around_map; { # FIXME - ideally this indented code should be in the templates $c->stash->{map_html} = FixMyStreet::Map::display_map( diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index 96650a1c6..289ba6bb3 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -212,7 +212,11 @@ sub display : Private { $c, latitude => $problem->latitude, longitude => $problem->longitude, - pins => [ [ $problem->latitude, $problem->longitude, $problem->state eq 'fixed' ? 'green' : 'red' ] ], + pins => [ { + latitude => $problem->latitude, + longitude => $problem->longitude, + colour => $problem->state eq 'fixed' ? 'green' : 'red', + } ], ); $c->stash->{map_js} = FixMyStreet::Map::header_js(); $c->stash->{cobrand_form_elements} = $c->cobrand->form_elements('questionnaireForm'); diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm index ae3dd5291..82f553d71 100644 --- a/perllib/FixMyStreet/App/Controller/Report.pm +++ b/perllib/FixMyStreet/App/Controller/Report.pm @@ -156,7 +156,11 @@ sub generate_map_tags : Private { longitude => $problem->longitude, type => 0, pins => $problem->used_map - ? [ [ $problem->latitude, $problem->longitude, 'blue' ] ] + ? [ { + latitude => $problem->latitude, + longitude => $problem->longitude, + colour => 'blue', + } ] : [], ); $c->stash->{map_js} = FixMyStreet::Map::header_js(); diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index bbf125833..2bba93cd4 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -908,7 +908,11 @@ sub generate_map : Private { latitude => $latitude, longitude => $longitude, type => 1, - pins => [ [ $latitude, $longitude, 'purple' ] ], + pins => [ { + latitude => $latitude, + longitude => $longitude, + colour => 'purple', + } ], ); } diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm index 971f88fd7..aeece3960 100644 --- a/perllib/FixMyStreet/Map/OSM.pm +++ b/perllib/FixMyStreet/Map/OSM.pm @@ -52,18 +52,8 @@ sub display_map { my $zoom_act = 14 + $zoom; my ($x_tile, $y_tile) = latlon_to_tile_with_adjust($params{latitude}, $params{longitude}, $zoom_act); - my @pins; foreach my $pin (@{$params{pins}}) { - my ($px, $py) = latlon_to_px($pin->[0], $pin->[1], $x_tile, $y_tile, $zoom_act); - push @pins, { - lat => $pin->[0], - lon => $pin->[1], - px => $px, - py => $py, - col => $pin->[2], - id => $pin->[3], - title => $pin->[4], - }; + ($pin->{px}, $pin->{py}) = latlon_to_px($pin->{latitude}, $pin->{longitude}, $x_tile, $y_tile, $zoom_act); } my $compass = { @@ -85,7 +75,7 @@ sub display_map { y_tile => $y_tile, zoom => $zoom, zoom_act => $zoom_act, - pins => \@pins, + pins => $params{pins}, compass => $compass, }; } diff --git a/perllib/FixMyStreet/Map/Tilma/Original.pm b/perllib/FixMyStreet/Map/Tilma/Original.pm index 7ba0afab5..c7ff5a52f 100644 --- a/perllib/FixMyStreet/Map/Tilma/Original.pm +++ b/perllib/FixMyStreet/Map/Tilma/Original.pm @@ -49,14 +49,6 @@ sub display_map { ( $params{easting}, $params{northing} ) = _ll_to_en( $params{latitude}, $params{longitude} ); - # FIXME - convert all pins to lat, lng - # all the pins are currently [lat, lng, colour] - convert them - foreach my $pin ( @{ $params{pins} ||= [] } ) { - my ( $lat, $lon ) = ( $pin->[0], $pin->[1] ); - my ( $e, $n ) = _ll_to_en( $lat, $lon ); - ( $pin->[0], $pin->[1] ) = ( $e, $n ); - } - # X/Y tile co-ords may be overridden in the query string my @vars = qw(x y); my %input = map { $_ => $c->req->params->{$_} || '' } @vars; @@ -65,17 +57,10 @@ sub display_map { my ($x, $y, $px, $py) = os_to_px_with_adjust($c, $params{easting}, $params{northing}, $input{x}, $input{y}); - my @pins; foreach my $pin (@{$params{pins}}) { - my $pin_x = os_to_px($pin->[0], $x); - my $pin_y = os_to_px($pin->[1], $y, 1); - push @pins, { - px => $pin_x, - py => $pin_y, - col => $pin->[2], - id => $pin->[3], - title => $pin->[4], - }; + my ( $e, $n ) = _ll_to_en( $pin->{latitude}, $pin->{longitude} ); + $pin->{px} = os_to_px($e, $x); + $pin->{py} = os_to_px($n, $y, 1); } $px = defined($px) ? $mid_point - $px : 0; @@ -88,7 +73,7 @@ sub display_map { my $tileids = RABX::unserialise($tiles); $c->stash->{map} = { type => 'tilma/original', - pins => \@pins, + pins => $params{pins}, tiles => $tiles, clickable => $params{type}, url => $url, |