NAME
Geo::Coder::GeocodeFarm - Geocode addresses with the GeocodeFarm API
SYNOPSIS
use Geo::Coder::GeocodeFarm;
my $geocoder = Geo::Coder::GeocodeFarm->new(
key => 'YOUR-API-KEY-HERE',
);
my $result = $geocoder->geocode(
location => '530 W Main St Anoka MN 55303 US',
);
printf "%f,%f\n",
$result->{coordinates}{lat},
$result->{coordinates}{lon};
my $reverse = $geocoder->reverse_geocode(
lat => '45.2040305',
lon => '-93.3995728',
);
print $reverse->{formatted_address}, "\n";
DESCRIPTION
The Geo::Coder::GeocodeFarm module provides an interface to the
geocoding functionality of the GeocodeFarm API v4.
METHODS
new
$geocoder = Geo::Coder::GeocodeFarm->new(
key => 'YOUR-API-KEY-HERE',
url => 'https://api.geocode.farm/',
ua => HTTP::Tiny->new,
parser => JSON->new->utf8,
raise_failure => 1,
);
Creates a new geocoding object with optional arguments.
An API key is required and can be obtained at
https://geocode.farm/store/api-services/
geocode
$result = $geocoder->geocode(
location => $location,
)
Forward geocoding takes a provided address or location and returns the
coordinate set for the requested location.
Method throws an error (or returns failure as nested list if
raise_failure argument is false) if the service failed to find
coordinates or wrong key was used.
reverse_geocode
$result = $geocoder->reverse_geocode(
lat => $latitude,
lon => $longitude,
)
Reverse geocoding takes a provided coordinate set and returns the
address for the requested coordinates.
Method throws an error (or returns failure as nested list if
raise_failure argument is false) if the service failed to find
coordinates or wrong key was used.
SEE ALSO
https://geocode.farm/
BUGS
If you find the bug or want to implement new features, please report it
at https://github.com/dex4er/perl-Geo-Coder-GeocodeFarm/issues
The code repository is available at
https://github.com/dex4er/perl-Geo-Coder-GeocodeFarm
AUTHOR
Piotr Roszatycki <dexter@cpan.org>
LICENSE
Copyright (c) 2013, 2015, 2025 Piotr Roszatycki <dexter@cpan.org>.
This is free software; you can redistribute it and/or modify it under
the same terms as perl itself.
See http://dev.perl.org/licenses/artistic.html