X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fgeocode_Mixin.pm;h=d821c8031519b7113aa835b9ad864f46a0c7ceb8;hp=9ac8e7a884d8c066a11005e29646a6f6b4620cda;hb=4f80f0d3db9bf0af3570c26ac3ae9da34a18f832;hpb=826bc353426658c25ca7e4d609dadcf6d3a5457c diff --git a/FS/FS/geocode_Mixin.pm b/FS/FS/geocode_Mixin.pm index 9ac8e7a88..d821c8031 100644 --- a/FS/FS/geocode_Mixin.pm +++ b/FS/FS/geocode_Mixin.pm @@ -143,15 +143,20 @@ sub set_coord { #my $module = FS::Conf->new->config('geocode_module') || 'Geo::Coder::Googlev3'; my $geocoder = Geo::Coder::Googlev3->new; - my $location = $geocoder->geocode( location => - $self->get($pre.'address1'). ','. - ( $self->get($pre.'address2') ? $self->get($pre.'address2').',' : '' ). - $self->get($pre.'city'). ','. - $self->get($pre.'state'). ','. - code2country($self->get($pre.'country')) - ); - - #errors? + + my $location = eval { + $geocoder->geocode( location => + $self->get($pre.'address1'). ','. + ( $self->get($pre.'address2') ? $self->get($pre.'address2').',' : '' ). + $self->get($pre.'city'). ','. + $self->get($pre.'state'). ','. + code2country($self->get($pre.'country')) + ); + }; + if ( $@ ) { + warn "geocoding error: $@\n"; + return; + } my $geo_loc = $location->{'geometry'}{'location'} or return; if ( $geo_loc->{'lat'} && $geo_loc->{'lng'} ) {