NAME

WWW::Google::DistanceMatrix - Interface to Google Distance Matrix API.

VERSION

Version 0.02

DESCRIPTION

The Google Distance Matrix API is a service that provides travel distance & time for a matrix of origins and destinations.The information returned is based on the recommended route between start & end points as calculated by the Google Maps API & consists of rows containing duration and distance values for each pair. The Distance Matrix API has the following limits in place:

  • 100 elements per query.

  • 100 elements per 10 seconds.

  • 2500 elements per 24 hour period.

NOTE

Use of the Distance Matrix API must relate to the display of information on a Google Map; for example to determine origin-destination pairs that fall within specific driving time from one another before requesting and displaying those destinations on a map. Use of the service in an application that doesn't display a Google map is prohibited.

CONSTRUCTOR

The following list of optional parameters can be passed in to the constructor.

+--------------+----------+--------------------------------------------------------------+
| key          | Required |                                                              |
+--------------+----------+--------------------------------------------------------------+
| mode         | No       | Specifies what mode of transport to use when calculating     |
|              |          | directions. Valid values are 'driving', 'walking' and        |
|              |          | 'bicycling'. Default value is 'driving'.                     |
| language     | No       | The language in which to return results. Default is 'en'.    |
| avoid        | No       | Introduces restrictions to the route. Valid values: 'tolls'  |   
|              |          | and 'highways'. Only one restriction can be specified.       |
| units        | No       | Specifies the unit system to use when expressing distance as |
|              |          | text. Valid values: 'metric' (default) and 'imperial'.       |
| sensor       | No       | Indicates whether your application is using a sensor (such as|
|              |          | a GPS locator) to determine the user's location. This value  |
|              |          | must be either 'true' or 'false'. Default is 'false'.        | 
+--------------+----------+--------------------------------------------------------------+

SUPPORTED LANGUAGES

+-------+-------------------------+-------+-------+
| Code  | Name                    |  v2   |  v3   |
+-------+-------------------------+-------+-------+
| ar    | ARABIC                  | Yes   |  Yes  |
| eu    | BASQUE                  | No    |  Yes  |
| bg    | BULGARIAN               | Yes   |  Yes  |
| bn    | BENGALI                 | Yes   |  Yes  |
| ca    | CATALAN                 | Yes   |  Yes  |
| cs    | CZECH                   | Yes   |  Yes  |
| da    | DANISH                  | Yes   |  Yes  |
| de    | GERMAN                  | Yes   |  Yes  |
| de    | GERMAN                  | Yes   |  Yes  |
| el    | GREEK                   | Yes   |  Yes  |
| en    | ENGLISH                 | Yes   |  Yes  |
| en-AU | ENGLISH (AUSTRALIAN)    | No    |  Yes  |
| en-GB | ENGLISH (GREAT BRITAIN) | No    |  Yes  |
| es    | SPANISH                 | Yes   |  Yes  |
| eu    | BASQUE                  | Yes   |  Yes  |
| fa    | FARSI                   | No    |  Yes  |
| fi    | FINNISH                 | Yes   |  Yes  |
| fil   | FILIPINO                | Yes   |  Yes  |
| fr    | FRENCH                  | Yes   |  Yes  |
| gl    | GALICIAN                | Yes   |  Yes  |
| gu    | GUJARATI                | Yes   |  Yes  |
| hi    | HINDI                   | Yes   |  Yes  |
| hr    | CROATIAN                | Yes   |  Yes  |
| hu    | HUNGARIAN               | Yes   |  Yes  |
| id    | INDONESIAN              | Yes   |  Yes  |
| it    | ITALIAN                 | Yes   |  Yes  |
| iw    | HEBREW                  | Yes   |  Yes  |
| ja    | JAPANESE                | Yes   |  Yes  |
| kn    | KANNADA                 | Yes   |  Yes  |
| ko    | KOREAN                  | Yes   |  Yes  |
| lt    | LITHUANIAN              | Yes   |  Yes  |
| lv    | LATVIAN                 | Yes   |  Yes  |
| ml    | MALAYALAM               | Yes   |  Yes  |
| mr    | MARATHI                 | Yes   |  Yes  |
| nl    | DUTCH                   | Yes   |  Yes  |
| nn    | NORWEGIAN NYNORSK       | Yes   |  No   |
| no    | NORWEGIAN               | Yes   |  Yes  |
| or    | ORIYA                   | Yes   |  No   |
| pl    | POLISH                  | Yes   |  Yes  |
| pt    | PORTUGUESE              | Yes   |  Yes  |
| pt-BR | PORTUGUESE (BRAZIL)     | Yes   |  Yes  |
| pt-PT | PORTUGUESE (PORTUGAL)   | Yes   |  Yes  |
| rm    | ROMANSCH                | Yes   |  No   |
| ro    | ROMANIAN                | Yes   |  Yes  |
| ru    | RUSSIAN                 | Yes   |  Yes  |
| sk    | SLOVAK                  | Yes   |  Yes  |
| sl    | SLOVENIAN               | Yes   |  Yes  |
| sr    | SERBIAN                 | Yes   |  Yes  |
| sv    | SWEDISH                 | Yes   |  Yes  |
| tl    | TAGALOG                 | No    |  Yes  |
| ta    | TAMIL                   | Yes   |  Yes  |
| te    | TELUGU                  | Yes   |  Yes  |
| th    | THAI                    | Yes   |  Yes  |
| tr    | TURKISH                 | Yes   |  Yes  |
| uk    | UKRAINIAN               | Yes   |  Yes  |
| vi    | VIETNAMESE              | Yes   |  Yes  |
| zh-CN | CHINESE (SIMPLIFIED)    | Yes   |  Yes  |
| zh-TW | CHINESE (TRADITIONAL)   | Yes   |  Yes  |
+-------+-------------------------+-------+-------+

METHODS

getDistance()

Returns the distance matrix in the desired output format (json/xml) from the set of origins to the set of destinations. Following parameters can be passed in:

+----------+----------+--------------------------------------------------------------+
| key      | Description                                                             |
+----------+----------+--------------------------------------------------------------+
| o_addr   | One or more origin address(es).                                         |
| o_latlng | One or more origin latitude/longitude coordinate(s).                    |
| d_addr   | One or more destination address(es).                                    |
| d_latlng | One or more destination latitude/longitude coordinate(s).               |
+----------+----------+--------------------------------------------------------------+

If you pass coordinates ensure that no space exists between the latitude/longitude values.

use strict; use warnings;
use WWW::Google::DistanceMatrix;

my $google = WWW::Google::DistanceMatrix->new();
print $google->getDistance(o_addr => 'Bobcaygeon+ON',
                           d_addr => 'Darling+Harbour+NSW+Australia');
                           
print $google->getDistance(o_addr => '41.43206,-81.38992',
                           d_addr => 'Darling+Harbour+NSW+Australia');
                       
print $google->getDistance(o_addr => ['Vancouver+BC', 'Seattle'],
                           d_addr => ['San+Francisco', 'Victoria+BC']);                                                          

AUTHOR

Mohammad S Anwar, <mohammad.anwar at yahoo.com>

BUGS

Please report any bugs or feature requests to bug-www-google-distancematrix at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Google-DistanceMatrix. 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 WWW::Google::DistanceMatrix

You can also look for information at:

LICENSE AND COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

DISCLAIMER

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.