WWW::Google::DistanceMatrix - Interface to Google Distance Matrix API.
Version 0.02
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.
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.
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'. | +--------------+----------+--------------------------------------------------------------+
+-------+-------------------------+-------+-------+ | 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 | +-------+-------------------------+-------+-------+
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']);
Mohammad S Anwar, <mohammad.anwar at yahoo.com>
<mohammad.anwar at yahoo.com>
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.
bug-www-google-distancematrix at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc WWW::Google::DistanceMatrix
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Google-DistanceMatrix
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/WWW-Google-DistanceMatrix
CPAN Ratings
http://cpanratings.perl.org/d/WWW-Google-DistanceMatrix
Search CPAN
http://search.cpan.org/dist/WWW-Google-DistanceMatrix/
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.
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.
To install WWW::Google::DistanceMatrix, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::Google::DistanceMatrix
CPAN shell
perl -MCPAN -e shell install WWW::Google::DistanceMatrix
For more information on module installation, please visit the detailed CPAN module installation guide.