Google-Directions
view release on metacpan or search on metacpan
lib/Google/Directions/Client.pm view on Meta::CPAN
my $goog = Google::Directions::Client->new();
my $response = $goog->directions(
origin => '25 Thompson Street, New York, NY, United States',
destination => '34 Lafayette Street, New York, NY, United States',
);
=head1 ATTRIBUTES
=over 4
=item I<keep_alive> Enable keep_alive for the user agent.
B<Warning:> This causes occasional errors due to partial content being returned... I'm not sure
what the root cause for this is... :(
=item I<user_agent> Define a custom L<LWP::UserAgent> if you like.
=item I<cache> Define a Cache::FastMmap if you would like to have results cached for better performance
=item I<base_url> Default: C<https://maps.googleapis.com>
=item I<api_path> Default: C</maps/api/directions/json>
=item I<limit_path_length> limit is documented at 2048, but errors occur at 2047.. Default: 2046
=back
=cut
has 'keep_alive' => ( is => 'ro', isa => 'Int', required => 1, default => 0 );
has 'user_agent' => (
is => 'ro',
isa => 'LWP::UserAgent',
writer => '_set_user_agent',
predicate => '_has_user_agent',
);
has 'base_url' => ( is => 'ro', isa => 'Str',
default => 'https://maps.googleapis.com' );
lib/Google/Directions/Client.pm view on Meta::CPAN
has 'api_path' => ( is => 'ro', isa => 'Str',
default => '/maps/api/directions/json' );
has 'limit_path_length' => ( is => 'ro', isa => 'Int', default => 2046 );
# Create a LWP::UserAgent if necessary
around 'user_agent' => sub {
my $orig = shift;
my $self = shift;
unless( $self->_has_user_agent ){
if( $self->keep_alive and not $ENV{NO_WARN_KEEPALIVE} ){
carp( "Warning - keep_alive gives unreliable results - partial JSON returned\n" .
"Set the enviroment variable NO_WARN_KEEPALIVE to hide this warning\n" );
}
my $ua = LWP::UserAgent->new(
'keep_alive' => $self->keep_alive,
);
$self->_set_user_agent( $ua );
}
return $self->$orig;
};
=head1 METHODS
=head2 directions
( run in 1.285 second using v1.01-cache-2.11-cpan-39bf76dae61 )