aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Geocode/OSM.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/Geocode/OSM.pm')
-rw-r--r--perllib/FixMyStreet/Geocode/OSM.pm6
1 files changed, 6 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Geocode/OSM.pm b/perllib/FixMyStreet/Geocode/OSM.pm
index 020be3c2a..4d57007c5 100644
--- a/perllib/FixMyStreet/Geocode/OSM.pm
+++ b/perllib/FixMyStreet/Geocode/OSM.pm
@@ -26,6 +26,8 @@ sub string {
my ( $s, $c ) = @_;
my $params = $c->cobrand->disambiguate_location($s);
+ # Allow cobrand to fixup the user input
+ $s = $params->{string} if $params->{string};
$s = FixMyStreet::Geocode::escape($s);
$s .= '+' . $params->{town} if $params->{town} and $s !~ /$params->{town}/i;
@@ -39,6 +41,8 @@ sub string {
);
$query_params{viewbox} = $params->{bounds}[1] . ',' . $params->{bounds}[2] . ',' . $params->{bounds}[3] . ',' . $params->{bounds}[0]
if $params->{bounds};
+ $query_params{bounded} = 1
+ if $params->{bounds};
$query_params{countrycodes} = $params->{country}
if $params->{country};
$url .= join('&', map { "$_=$query_params{$_}" } sort keys %query_params);
@@ -50,11 +54,13 @@ sub string {
my ( $error, @valid_locations, $latitude, $longitude );
foreach (@$js) {
+ $c->cobrand->call_hook(geocoder_munge_results => $_);
( $latitude, $longitude ) =
map { Utils::truncate_coordinate($_) }
( $_->{lat}, $_->{lon} );
push (@$error, {
address => $_->{display_name},
+ icon => $_->{icon},
latitude => $latitude,
longitude => $longitude
});