NAME
Geo::Coder::OpenCage - Geocode addresses with the OpenCage Geocoder API
VERSION
version 0.03
DESCRIPTION
This module provides an interface to the OpenCage geocoding service.
For full details on the API visit http://geocoder.opencagedata.com/api.html.
SYNOPSIS
my $Geocoder = Geo::Coder::OpenCage->new(api_key => $my_api_key);
my $result = $Geocoder->geocode(location => "Donostia");
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
-
- 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.
- country
-
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.
- fields
-
This module always grabs all of the data, and never uses the fields option.
As a full example:
my $result = $Geocoder->geocode(
location => "Псковская улица, Санкт-Петербург, Россия",
language => "ru",
country => "rus",
);
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.
AUTHOR
Alex Balhatchet, alex@lokku.com
COPYRIGHT AND LICENSE
Copyright 2014 Lokku Ltd <cpan@lokku.com>
Please check out all our open source work over at https://github.com/lokku and our developer blog: http://devblog.nestoria.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.