Google-Directions

 view release on metacpan or  search on metacpan

lib/Google/Directions/Response.pm  view on Meta::CPAN

See API documentation L<here|http://code.google.com/apis/maps/documentation/directions/#StatusCodes> for details.

=item I<routes> An ArrayRef of L<Google::Directions::Response::Route> objects

=back

=cut

has 'cached'	    => ( is => 'rw', isa => 'Bool', writer => 'set_cached' );
has 'status'        => ( is => 'ro', isa => StatusCode, required => 1 );
has 'routes'        => ( is => 'ro', isa => ArrayRefOfRoutes, coerce => 1 );

1;

=head1 AUTHOR

Robin Clarke, C<< <perl at robinclarke.net> >>

=head1 LICENSE AND COPYRIGHT

Copyright 2012 Robin Clarke.

lib/Google/Directions/Response/Leg.pm  view on Meta::CPAN

=item I<start_address> $string

=item I<start_location> L<Google::Directions::Response::Coordinates>

=item I<steps> ArrayRef of L<Google::Directions::Response::Step>

=back

=cut

has 'distance'      => ( is => 'ro', isa => ValueFromHashRef,
    coerce      => 1, 
    required    => 1,
    );

has 'duration'      => ( is => 'ro', isa => ValueFromHashRef,
    coerce      => 1, 
    required    => 1,
    );
has 'end_address'   => ( is => 'ro', isa => 'Str' );
has 'end_location'  => ( is => 'ro', isa => CoordinatesClass,
    coerce      => 1,
    required    => 1,
    );

has 'start_address'   => ( is => 'ro', isa => 'Str' );
has 'start_location'  => ( is => 'ro', isa => CoordinatesClass,
    coerce      => 1,
    required    => 1,
    );

has 'steps' => ( is => 'ro', isa => ArrayRefOfSteps,
    coerce     => 1,
    );

1;

=head1 AUTHOR

Robin Clarke, C<< <perl at robinclarke.net> >>

=head1 LICENSE AND COPYRIGHT

lib/Google/Directions/Response/Polyline.pm  view on Meta::CPAN

=head1 ATTRIBUTES

=over 4

=item I<points> ArrayRef of L<Google::Directions::Response::Coordinates>

=back

=cut

has 'points' => ( is => 'ro', isa => ArrayRefOfPoints, coerce => 1 );

sub _decode_points{
  my $quintets = shift;
  my @coordinates = ();
  my @coords;
  
  @coords = Algorithm::GooglePolylineEncoding::decode_polyline($quintets);
  my $ccnt = 0;
  foreach my $pt(@coords){
      push( @coordinates, Google::Directions::Response::Coordinates->new(

lib/Google/Directions/Response/Route.pm  view on Meta::CPAN

=item I<overview_polyline> L<Google::Directions::Response::Polyline>

=back

=cut

has 'copyrights'        => ( is => 'ro', isa => 'Str',
    required    => 1,
    );

has 'legs'              => ( is => 'ro', isa => ArrayRefOfLegs,
    required    => 1,
    coerce      => 1,
    );

has 'bounds'            => ( is => 'ro', isa => BoundsClass,
    required    => 1, 
    coerce      => 1,
    );

has 'summary'           => ( is => 'ro', isa => 'Str' );
has 'warnings'          => ( is => 'ro', isa => 'ArrayRef' );
has 'waypoint_order'    => ( is => 'ro', isa => 'ArrayRef' );

has 'overview_polyline' => ( is => 'ro', isa => PolylineClass,
    coerce  => 1,
    );

1;

=head1 AUTHOR

Robin Clarke, C<< <perl at robinclarke.net> >>

lib/Google/Directions/Response/Step.pm  view on Meta::CPAN

=item I<html_instructions> $string

=item I<travel_mode> $string

=item I<polyline> L<Google::Directions::Response::Polyline>

=back

=cut

has 'distance'      => ( is => 'ro', isa => ValueFromHashRef,
    coerce      => 1, 
    required    => 1,
    );

has 'duration'      => ( is => 'ro', isa => ValueFromHashRef,
    coerce      => 1, 
    required    => 1,
    );
has 'end_address'   => ( is => 'ro', isa => 'Str' );
has 'end_location'  => ( is => 'ro', isa => CoordinatesClass,
    coerce      => 1,
    required    => 1,
    );

has 'start_address'   => ( is => 'ro', isa => 'Str' );



( run in 0.627 second using v1.01-cache-2.11-cpan-5f2e87ce722 )