#StayAtHome ×

#### Archived

This topic is now archived and is closed to further replies.

# zip code distance calculator

## Recommended Posts

Is anyone aware of a good zip code distance calculator that uses the built in one on google maps, or something similar?

##### Share on other sites

Have you looked into the Google Distance Matrix API?

##### Share on other sites

I'll be doing it for users within any given zip code, and calculating the distance to other users, so I don't think the tool is powerful enough.  Anyone have advice?

##### Share on other sites

I'll be doing it for users within any given zip code, and calculating the distance to other users, so I don't think the tool is powerful enough.

Why would you think that? Just pass the users entered zipcode to the API and read the results. It'll do exactly what you want.

##### Share on other sites

I have a sqlite database of zip codes and their geo coordinates. When I want to find the distance between two zip codes I query the db and then use the following function:

```<?php

/**
* This function calculates the distance between two
* points (given the latitude/longitude of those points).
*
* @param  decimal degrees  latitude of point 1
* @param  decimal degrees  longitude of point 1
* @param  decimal degrees  latitude of point 2
* @param  decimal degrees  longitude of point 2
* @param  string  the unit for results
*                   'M' is statute miles
*                   'K' is kilometers
*                   'N' is nautical miles
*/
if( ! function_exists( 'distance_between_geo_coords' ) )
{
function distance_between_geo_coords( \$lat1, \$lng1, \$lat2, \$lng2, \$unit )
{
\$theta = \$lng1 - \$lng2;
\$dist = sin( deg2rad( \$lat1 ) ) *
sin( deg2rad( \$lat2 ) ) +
cos( deg2rad( \$lat1 ) ) *
cos( deg2rad( \$lat2 ) ) *
\$dist = acos( \$dist );
\$miles = \$dist * 60 * 1.1515;
\$unit = strtoupper( \$unit );

if( strtolower( \$unit ) == 'k' )
{
return \$miles * 1.609344;
}
else if( strtolower( \$unit ) == 'n' )
{
return \$miles * 0.8684;
}
else
{
return \$miles;
}
}
}

// --------------------------------------------------------------
```

×

• #### Activity

• Chat
×
• Create New...