Geo-Distance-Google
view release on metacpan or search on metacpan
lib/Geo/Distance/Google.pm view on Meta::CPAN
$self->debug( "Sending request: $url" );
my $res = $self->{ua}->get($url);
if ($res->is_error) {
Carp::croak("Google Maps API returned error: " . $res->status_line);
}
if ( $res->headers->content_type !~ /json/ ) {
my $ct = $res->headers->content_type;
croak "Invalid content-type '$ct' returned from webserver";
}
my $json = JSON->new->utf8;
my $data = $json->decode($res->content);
$self->raw_distance( $data );
$self->debug( "data: " . Dumper( $data ) );
if ( ! defined $data->{status} || $data->{status} ne 'OK' ) {
t/01_live.t view on Meta::CPAN
throws_ok { $distance = $geo->distance; } qr/Mandatory parameters/, 'parameter check';
$geo = Geo::Distance::Google->new( host => 'example.com' );
throws_ok {
$distance = $geo->distance(
origins => '123 Main St., Waukesha, WI',
destinations => '1 Brewers Way Milwaukee, Wisconsin 53214'
);
} qr/Invalid content-type/, 'Invalid content-type';
}
# URL signing
SKIP: {
skip "Update to support google business keys", 2;
# sample clientID from http://code.google.com/apis/maps/documentation/webservices/index.html#URLSigning
my $client = $ENV{GMAP_CLIENT};
my $key = $ENV{GMAP_KEY};
my $geocoder = Geo::Distance::Google->new( client => $client, key => $key );
( run in 0.526 second using v1.01-cache-2.11-cpan-d7f47b0818f )