public
Description: Geo::Coder::Google
Homepage: http://search.cpan.org/dist/Geo-Coder-Google
Clone URL: git://github.com/miyagawa/geo-coder-google.git
name age message
file .gitignore Fri Jan 16 12:55:46 -0800 2009 git stuff [Tatsuhiko Miyagawa]
file .shipit Fri Jan 16 12:54:35 -0800 2009 Added git config to shipit [Tatsuhiko Miyagawa]
file Changes Thu Oct 15 17:31:47 -0700 2009 Checking in changes prior to tagging of version... [Tatsuhiko Miyagawa]
file MANIFEST Fri Jan 16 12:56:57 -0800 2009 Checking in changes prior to tagging of version... [Tatsuhiko Miyagawa]
file MANIFEST.SKIP Fri Jan 16 12:56:57 -0800 2009 Checking in changes prior to tagging of version... [Tatsuhiko Miyagawa]
file Makefile.PL Tue Jun 13 04:35:56 -0700 2006 import Geo::Coder::Google [Tatsuhiko Miyagawa]
file README Tue Jun 13 04:35:56 -0700 2006 import Geo::Coder::Google [Tatsuhiko Miyagawa]
directory lib/ Thu Oct 15 17:31:47 -0700 2009 Checking in changes prior to tagging of version... [Tatsuhiko Miyagawa]
directory t/ Thu Oct 15 17:22:51 -0700 2009 Some lat/long values have changed slightly [autarch]
README
NAME
    Geo::Coder::Google - Google Maps Geocoding API

SYNOPSIS
      use Geo::Coder::Google;

      my $geocoder = Geo::Coder::Google->new(apikey => 'Your API Key');
      my $location = $geocoder->geocode( location => 'Hollywood and Highland, Los Angeles, CA' );

DESCRIPTION
    Geo::Coder::Google provides a geocoding functionality using Google Maps
    API.

METHODS
    new
          $geocoder = Geo::Coder::Google->new(apikey => 'Your API Key');
          $geocoder = Geo::Coder::Google->new(apikey => 'Your API Key', host => 'maps.google.co.jp');

        Creates a new geocoding object. You should pass a valid Google Maps
        API Key as "apikey" parameter.

        When you'd like to query Japanese address, you might want to set
        *host* parameter, which should point to *maps.google.co.jp*. I think
        this also applies to other countries like UK (maps.google.co.uk),
        but so far I only tested with *.com* and *.co.jp*.

    geocode
          $location = $geocoder->geocode(location => $location);
          @location = $geocoder->geocode(location => $location);

        Queries *$location* to Google Maps geocoding API and returns hash
        refernece returned back from API server. When you cann the method in
        an array context, it returns all the candidates got back, while it
        returns the 1st one in a scalar context.

        When you'd like to pass non-ascii string as a location, you should
        pass it as either UTF-8 bytes or Unicode flagged string.

        Returned data structure is as follows:

          {
            'AddressDetails' => {
              'Country' => {
                'AdministrativeArea' => {
                  'SubAdministrativeArea' => {
                    'SubAdministrativeAreaName' => 'San Francisco',
                    'Locality' => {
                      'PostalCode' => {
                        'PostalCodeNumber' => '94107'
                      },
                      'LocalityName' => 'San Francisco',
                      'Thoroughfare' => {
                        'ThoroughfareName' => '548 4th St'
                      }
                    }
                  },
                  'AdministrativeAreaName' => 'CA'
                },
                'CountryNameCode' => 'US'
              }
            },
            'address' => '548 4th St, San Francisco, CA 94107, USA',
            'Point' => {
              'coordinates' => [
                '-122.397323',
                '37.778993',
                0
              ]
            }
          }

AUTHOR
    Tatsuhiko Miyagawa <miyagawa@bulknews.net>

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

SEE ALSO
    Geo::Coder::Yahoo,
    <http://www.google.com/apis/maps/documentation/#Geocoding_Examples>