Changeset 1079

Show
Ignore:
Timestamp:
06/16/07 16:41:13 (1 year ago)
Author:
dom
Message:

Fix bug representing zero geodata (fixes #215)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/OpenGuides/Template.pm

    r1054 r1079  
    424424 
    425425            # If we were sent x and y, work out lat/long; and vice versa. 
    426             if ( $os_x && $os_y ) { 
     426            if ( defined $os_x && defined $os_y ) { 
    427427                my $point = Geography::NationalGrid::GB->new( Easting =>$os_x, 
    428428                                     Northing=>$os_y); 
    429429                $lat  = sprintf("%.6f", $point->latitude); 
    430430                $long = sprintf("%.6f", $point->longitude); 
    431             } elsif ( $lat && $long ) { 
     431            } elsif ( defined $lat && defined $long ) { 
    432432                my $point = Geography::NationalGrid::GB->new(Latitude  => $lat, 
    433433                                                             Longitude => $long); 
     
    436436            } 
    437437             
    438             if ( $os_x && $os_y ) { 
     438            if ( defined $os_x && defined $os_y ) { 
    439439                %vars = ( 
    440440                            %vars, 
     
    469469 
    470470            # If we were sent x and y, work out lat/long; and vice versa. 
    471             if ( $osie_x && $osie_y ) { 
     471            if ( defined $osie_x && defined $osie_y ) { 
    472472                my $point = Geography::NationalGrid::IE->new(Easting=>$osie_x, 
    473473                                   Northing=>$osie_y); 
    474474                $lat = sprintf("%.6f", $point->latitude); 
    475475                $long = sprintf("%.6f", $point->longitude); 
    476             } elsif ( $lat && $long ) { 
     476            } elsif ( defined $lat && defined $long ) { 
    477477                my $point = Geography::NationalGrid::GB->new(Latitude  => $lat, 
    478478                                                             Longitude => $long); 
     
    480480                $osie_y = $point->northing; 
    481481            } 
    482             if ( $osie_x && $osie_y ) { 
     482            if ( defined $osie_x && defined $osie_y ) { 
    483483                %vars = ( 
    484484                            %vars, 
     
    506506            my $long   = $q->param("longitude"); 
    507507             
    508             if ( $lat && $long ) { 
     508            if ( defined $lat && defined $long ) { 
    509509                # Trim whitespace. 
    510510                $lat =~ s/\s+//g;