NAME

Geo::Coder::Yahoo - Geocode addresses with the Yahoo! API

VERSION

Version 0.01

SYNOPSIS

Provides a thin Perl interface to the Yahoo! Geocoding API.

use Geo::Coder::Yahoo;

my $geocoder = Geo::Coder::Yahoo->new(appid => 'my_app' );
my $location = $geocoder->geocode( location => 'Hollywood and Highland, Los Angeles, CA' );

OFFICIAL API DOCUMENTATION

Read more about the API at http://developer.yahoo.net/maps/rest/V1/geocode.html.

EVIL HACKS

Redefines the Yahoo::Search::XML::_entity function with a patched one. (I'll take the hacked one out when a new Yahoo::Search package is released). The geocoding API is returning some HTML entities that apparently aren't used anywhere else in the Yahoo APIs. :-)

METHODS

new(appid => $appid)

Instantiates a new object.

appid is your Yahoo Application ID. You can register at http://api.search.yahoo.com/webservices/register_application.

If you don't specify it here you must specify it when calling geocode.

geocode( location => $location )

Parameters are the URI arguments documented on the Yahoo API page (location, street, city, state, zip). You usually just need one of them to get results.

Returns a reference to an array of results. More than one result may be returned if the given address is ambiguous. Each result is a hashref with data like the following example:

{
 'country' => 'US',
 'longitude' => '-118.3387',
 'state' => 'CA',
 'zip' => '90028',
 'city' => 'LOS ANGELES',
 'latitude' => '34.1016',
 'warning' => 'The exact location could not be found, here is the closest match: Hollywood Blvd At N Highland Ave, Los Angeles, CA 90028',
 'address' => 'HOLLYWOOD BLVD AT N HIGHLAND AVE',
 'precision' => 'address'
 }
precision

The precision of the address used for geocoding, from specific street address all the way up to country, depending on the precision of the address that could be extracted. Possible values, from most specific to most general are:

address
street
zip+4
zip+2
zip
city
state
country
warning

If the exact address was not found, the closest available match will be noted here.

latitude

The latitude of the location.

longitude

The longitude of the location.

address

Street address of the result, if a specific location could be determined.

city

City in which the result is located.

state

State in which the result is located.

zip

Zip code, if known.

country

Country in which the result is located.

AUTHOR

Ask Bjoern Hansen, <ask at develooper.com>

BUGS

Please report any bugs or feature requests to bug-geo-coder-yahoo at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Geo-Coder-Yahoo. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Geo::Coder::Yahoo

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to Yahoo for providing this free API.

COPYRIGHT & LICENSE

Copyright 2005 Ask Bjoern Hansen, all rights reserved.

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