diff options
author | Dave Arter <davea@mysociety.org> | 2020-06-16 19:47:03 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2020-07-02 14:38:50 +0100 |
commit | ecdd0473e28ffbc3b877cc90ee13208cb97f28ec (patch) | |
tree | e515999d9442bbb972a0edcc6e693a61073ab1b3 | |
parent | 6c975151915204674ec27f5e0c95dfa6f1273523 (diff) |
[Hackney] Refine geocoder results display
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Hackney.pm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Hackney.pm b/perllib/FixMyStreet/Cobrand/Hackney.pm index b0c815d70..038d9cff3 100644 --- a/perllib/FixMyStreet/Cobrand/Hackney.pm +++ b/perllib/FixMyStreet/Cobrand/Hackney.pm @@ -27,6 +27,27 @@ sub get_geocoder { return 'OSM'; # default of Bing gives poor results, let's try overriding. } +sub geocoder_munge_query_params { + my ($self, $params) = @_; + + $params->{addressdetails} = 1; +} + +sub geocoder_munge_results { + my ($self, $result) = @_; + if (my $a = $result->{address}) { + if ($a->{road} && $a->{suburb} && $a->{postcode}) { + $result->{display_name} = "$a->{road}, $a->{suburb}, $a->{postcode}"; + return; + } + } + $result->{display_name} = '' unless $result->{display_name} =~ /Hackney/; + $result->{display_name} =~ s/, United Kingdom$//; + $result->{display_name} =~ s/, London, Greater London, England//; + $result->{display_name} =~ s/, London Borough of Hackney//; +} + + sub open311_config { my ($self, $row, $h, $params) = @_; |