GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Geo::Coder::OpenCage(3) User Contributed Perl Documentation Geo::Coder::OpenCage(3)

Geo::Coder::OpenCage - Geocode coordinates and addresses with the OpenCage Geocoding API

version 0.36

    my $Geocoder = Geo::Coder::OpenCage->new(api_key => $my_api_key);
    my $response = $Geocoder->geocode(location => "Donostia");

This module provides an interface to the OpenCage geocoding service.

For full details of the API visit <https://opencagedata.com/api>

It is recommended you read the best practices for using the OpenCage geocoder <https://opencagedata.com/api#bestpractices> before you start.

    my $Geocoder = Geo::Coder::OpenCage->new(api_key => $my_api_key);

Get your API key from <https://opencagedata.com>.

Optionally "http => 1" can also be specified in which case API requests will NOT be made via https

    $ua = $geocoder->ua();
    $ua = $geocoder->ua($ua);

Accessor for the UserAgent object. By default HTTP::Tiny is used. Useful if for example you want to specify that something like LWP::UserAgent::Throttled for rate limiting. Even if a new UserAgent is specified the useragent string will be specified as "Geo::Coder::OpenCage $version"

Takes a single named parameter 'location' and returns a result hashref.

    my $response = $Geocoder->geocode(location => "Mudgee, Australia");

warns and returns undef if the query fails for some reason.

If you will be doing forward geocoding, please see the OpenCage query formatting guidelines <https://opencagedata.com/guides/how-to-format-your-geocoding-query>

You should check the always response status

  $response->{status}{code}

to ensure you have had a successful response, are not hitting rate limits, etc. Please see the OpenCage geocoding API response codes <https://opencagedata.com/api#codes>

The OpenCage Geocoder has a few optional parameters:

please see the OpenCage geocoder documentation <https://opencagedata.com/api>. Most of the various optional parameters <https://opencagedata.com/api#forward-opt> are supported. For example:
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.
Limits the maximum number of results returned. Default is 10.
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 comma seperated list of 2 character code as defined by the ISO 3166-1 Alpha 2 standard.

This module always parses the response as a Perl data structure, so the jsonp option is never used.

As a full example:

    my $response = $Geocoder->geocode(
        location => "Псковская улица, Санкт-Петербург, Россия",
        language => "ru",
        countrycode => "ru",
    );

Takes two named parameters 'lat' and 'lng' and returns a result hashref.

    my $response = $Geocoder->reverse_geocode(lat => -22.6792, lng => 14.5272);

This method supports the optional parameters in the same way that geocode() does.

All strings passed to and received from Geo::Coder::OpenCage methods are expected to be character strings, not byte strings.

For more information see perlunicode.

Please see the Perl tutorial <https://opencagedata.com/tutorials/geocode-in-perl> on the OpenCage site. Many other languages and frameworks are also available.

For full details of the API visit <https://opencagedata.com/api>

This module was featured in the 2016 Perl Advent Calendar <http://perladvent.org/2016/2016-12-08.html>.

Ed Freyfogle <cpan@opencagedata.com>

This software is copyright (c) 2023 by OpenCage GmbH.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2023-03-14 perl v5.40.2

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.