aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Map.pm
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2017-11-24 11:55:00 +0000
committerDave Arter <davea@mysociety.org>2017-11-24 15:02:23 +0000
commite4e245caf847b4fa8866ccecd0abf7b8d6a516a8 (patch)
tree2b813b4c14658140ce138358367d6f1c16b3a48d /perllib/FixMyStreet/Map.pm
parentd92f7d8f839623a0b11282073f377009d4f89220 (diff)
Ensure calculated lat/lon are sent to DB in correct format
When viewing /around without the `js=1` parameter in a Spanish locale the incorrect decimal separator was being passed to the DB query, causing a crash. Fixes mysociety/fixmystreet-commercial#942
Diffstat (limited to 'perllib/FixMyStreet/Map.pm')
-rw-r--r--perllib/FixMyStreet/Map.pm12
1 files changed, 6 insertions, 6 deletions
diff --git a/perllib/FixMyStreet/Map.pm b/perllib/FixMyStreet/Map.pm
index 0c75ab891..91c198913 100644
--- a/perllib/FixMyStreet/Map.pm
+++ b/perllib/FixMyStreet/Map.pm
@@ -83,13 +83,13 @@ 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;
- $p{min_lon} = $p{longitude} - $lon_delta;
- $p{min_lat} = $p{latitude} - $lat_delta;
- $p{max_lon} = $p{longitude} + $lon_delta;
- $p{max_lat} = $p{latitude} + $lat_delta;
+ $p{min_lon} = Utils::truncate_coordinate($p{longitude} - $lon_delta);
+ $p{min_lat} = Utils::truncate_coordinate($p{latitude} - $lat_delta);
+ $p{max_lon} = Utils::truncate_coordinate($p{longitude} + $lon_delta);
+ $p{max_lat} = Utils::truncate_coordinate($p{latitude} + $lat_delta);
} else {
- $p{longitude} = ($p{max_lon} + $p{min_lon} ) / 2;
- $p{latitude} = ($p{max_lat} + $p{min_lat} ) / 2;
+ $p{longitude} = Utils::truncate_coordinate(($p{max_lon} + $p{min_lon} ) / 2);
+ $p{latitude} = Utils::truncate_coordinate(($p{max_lat} + $p{min_lat} ) / 2);
}
$p{page} = $c->get_param('p') || 1;