The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Geo::Coder::Many::OSM - OpenStreetMap Nominatim plugin for Geo::Coder::Many

VERSION

Version 0.01

SYNOPSIS

This module adds OpenStreetMap Nominatim support to Geo::Coder::Many.

Use as follows:

    use Geo::Coder::Many;
    use Geo::Coder::OSM;
    
    my $options = { };
    my $geocoder_many = Geo::Coder::Many->new( $options );
    my $osm = Geo::Coder::OSM->new;
    
    my $osm_options = {
        geocoder    => $osm,
    # This limit should not be taken as necessarily valid. 
    # Please check the Nominatim usage policy.
        daily_limit => 5000,
    };
    
    $geocoder_many->add_geocoder( $osm_options );
    
    my $location = $geocoder_many->geocode( 
        {
            location => '82 Clerkenwell Road, London, EC1M 5RF'
        }
    );

USAGE POLICY

Be careful to limit the number of requests you send, or risk being blocked.

See http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy for details.

SUBROUTINES/METHODS

geocode

This is called by Geo::Coder::Many - it sends the geocoding request (via Geo::Coder::OSM) and extracts the resulting location, returning it in a standard Geo::Coder::Many::Response.

get_name

Returns the name of the geocoder type - used by Geo::Coder::Many