Geo::Coder::Postcodes - Provides a geocoding functionality using https://postcodes.io.
Version 0.07
use Geo::Coder::Postcodes;
my $geo_coder = Geo::Coder::Postcodes->new();
my $location = $geo_coder->geocode(location => 'Margate');
Geo::Coder::Postcodes provides an interface to postcodes.io, a free Geo-Coder database covering the towns in the UK.
$geo_coder = Geo::Coder::Postcodes->new();
my $ua = LWP::UserAgent->new();
$ua->env_proxy(1);
$geo_coder = Geo::Coder::Postcodes->new(ua => $ua);
$location = $geo_coder->geocode(location => $location);
print 'Latitude: ', $location->{'latitude'}, "\n";
print 'Longitude: ', $location->{'logitude'}, "\n";
Accessor method to get and set UserAgent object used internally. You can call env_proxy for example, to get the proxy information from environment variables:
$geo_coder->ua()->env_proxy(1);
You can also set your own User-Agent object:
use LWP::UserAgent::Throttled;
$geo_coder->ua(LWP::UserAgent::Throttled->new());
$location = $geo_coder->reverse_geocode(latlng => '37.778907,-122.39732');
Similar to geocode except it expects a latitude/longitude parameter.
Note that this most only works on towns and cities, some searches such as "Margate, Kent, UK" may work, but you're best to search only for "Margate".
Nigel Horne <njh@bandsman.co.uk>
Based on Geo::Coder::GooglePlaces.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Lots of thanks to the folks at postcodes.io.
Geo::Coder::GooglePlaces, HTML::GoogleMaps::V3
Copyright 2017-2022 Nigel Horne.
This program is released under the following licence: GPL2