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.