NAME
Geo::Coder::OpenCage
VERSION
version 0.09
SYNOPSIS
my $Geocoder = Geo::Coder::OpenCage->new(api_key => $my_api_key);
my $result = $Geocoder->geocode(location => "Donostia");
DESCRIPTION
This module provides an interface to the OpenCage geocoding service.
For full details on the API visit http://geocoder.opencagedata.com/api.
NAME
Geo::Coder::OpenCage - Geocode addresses with the OpenCage Geocoder API
METHODS
new
my $Geocoder = Geo::Coder::OpenCage->new(api_key => $my_api_key);
You can get your API key from http://geocoder.opencagedata.com
geocode
Takes a single named parameter 'location' and returns a result hashref.
my $result = $Geocoder->geocode(location => "Mudgee, Australia");
The OpenCage Geocoder has a few optional parameters, some of which this module supports and some of which it doesn't.
- Supported Parameters
-
please see the geocoder documentation almost all of the various optional parameters are supported
- language
-
An IETF format language code (such as es for Spanish or pt-BR for Brazilian Portuguese); if this is omitted a code of en (English) will be assumed.
- countrycode
-
Provides the geocoder with a hint to the country that the query resides in. This value will help the geocoder but will not restrict the possible results to the supplied country.
The country code is a 3 character code as defined by the ISO 3166-1 Alpha 3 standard.
- Not Supported
-
- format
-
This module only ever uses the JSON format. For other formats you should access the API directly using HTTP::Tiny or similar user agent module.
- jsonp
-
This module always parses the response as a Perl data structure, so the jsonp option is never used.
As a full example:
my $result = $Geocoder->geocode(
location => "Псковская улица, Санкт-Петербург, Россия",
language => "ru",
countrycode => "ru",
);
reverse_geocode
Takes two named parameters 'lat' and 'lng' and returns a result hashref.
my $result = $Geocoder->reverse_geocode(lat => -22.6792, lng => 14.5272);
This supports the optional 'language' parameter in the same way that geocode() does.
ENCODING
All strings passed to and recieved from Geo::Coder::OpenCage methods are expected to be character strings, not byte strings.
For more information see perlunicode.
SEE ALSO
This module was featured in the 2016 Perl Advent Calendar. Read the article.
AUTHOR
Ed Freyfogle
COPYRIGHT AND LICENSE
Copyright 2016 OpenCage Data Ltd <cpan@opencagedata.com>
Please check out all our open source work over at https://github.com/opencagedata and our developer blog: http://blog.opencagedata.com
Thanks!
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.16 or, at your option, any later version of Perl 5 you may have available.
AUTHOR
edf <edf@opencagedata.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by OpenCage Data Limited.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.