$gp = Geo::PostalCode->new(db_dir => $db_dir);
Returns a new Geo::PostalCode object using the postalcode.db, latlon.db, and city.db Berkeley Database files in $db_dir.
$record = $gp->lookup_postal_code(postal_code => $postal_code);
Returns a hash reference containing four keys:
* lat - Latitude
* lon - Longitude
* city - City
* state - State two-letter abbreviation.
Hope that's of some use to you. . .
| [reply] [Watch: Dir/Any] [d/l] [select] |
I use this module frequently, and it works great. I'd highly recommend it. You'll need to download the postal code data before it will complete "make test" succesfully.
| [reply] [Watch: Dir/Any] |
What do you mean, "download the postal code data"?
I tried this module, I installed it, using WHM (a cPanel Product) with the Install a Perl Module, it appeared to work ok, however, when I use the 'sample' code:
use Geo::PostalCode;
my $gp = Geo::PostalCode->new(db_dir => ".");
my $record = $gp->lookup_postal_code(postal_code => '07302');
my $lat = $record->{lat};
my $lon = $record->{lon};
my $city = $record->{city};
my $state = $record->{state};
my $distance = $gp->calculate_distance(postal_codes => ['07302','100
+04']);
$record = $gp->lookup_city_state(city => "Jersey City",state => "NJ"
+);
$lat = $record->{lat};
$lon = $record->{lon};
my $postal_codes = $record->{postal_codes};
$postal_codes = $gp->nearby_postal_codes(lat => $lat, lon => $lon,
distance => 50);
print qq~<br>
City is ~ . $city . qq~<br>
State is ~ . $state . qq~<br>
Latitude is ~ . $lat . qq~<br>
Longitude is ~ . $lon . qq~<br>
<br>
Nearby Zips are: $postal_codes~;
(ran as a test) and I had this 'output':
City is
State is
Latitude is
Longitude is
Nearby Zips are: ARRAY(0x8674890)
So, could what you said, be the reason why it's not working?
I would appreciate your help.
| [reply] [Watch: Dir/Any] [d/l] |
I don't know of any module that has its own zipcode database, but there are CPAN modules, like Scrape::USPS::ZipLookup::Address, that scrape a USPS web page to extract city info. It is suitable for non-commerical use -- look at the site for the full terms of use.
| [reply] [Watch: Dir/Any] |