NAME
Geo::Coder::Postcodes - Provides a geocoding functionality using https://postcodes.io.
VERSION
Version 0.08
SYNOPSIS
use Geo::Coder::Postcodes;
my $geo_coder = Geo::Coder::Postcodes->new();
my $location = $geo_coder->geocode(location => 'Margate');
DESCRIPTION
Geo::Coder::Postcodes provides an interface to postcodes.io, a free Geo-Coder database covering the towns in the UK.
METHODS
new
$geo_coder = Geo::Coder::Postcodes->new();
my $ua = LWP::UserAgent->new();
$ua->env_proxy(1);
$geo_coder = Geo::Coder::Postcodes->new(ua => $ua);
geocode
$location = $geo_coder->geocode(location => $location);
print 'Latitude: ', $location->{'latitude'}, "\n";
print 'Longitude: ', $location->{'logitude'}, "\n";
ua
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());
reverse_geocode
$location = $geo_coder->reverse_geocode(latlng => '37.778907,-122.39732');
Similar to geocode except it expects a latitude/longitude parameter.
BUGS
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".
AUTHOR
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.
SEE ALSO
Geo::Coder::GooglePlaces, HTML::GoogleMaps::V3
LICENSE AND COPYRIGHT
Copyright 2017-2024 Nigel Horne.
This program is released under the following licence: GPL2