aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r--perllib/FixMyStreet/App/Controller/Around.pm11
-rwxr-xr-xperllib/FixMyStreet/App/Controller/Questionnaire.pm6
-rw-r--r--perllib/FixMyStreet/App/Controller/Report.pm6
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm6
-rw-r--r--perllib/FixMyStreet/Map/OSM.pm14
-rw-r--r--perllib/FixMyStreet/Map/Tilma/Original.pm23
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,