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:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Google-DistanceMatrix
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
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.