Geocoding: Location to Latitude/Longitude
Like this blog? Consider exploring one of our sponsored banner ads...
Both Google and Yahoo offer free geocoding services. Geocoding is the process of getting the latitude/longitude coordinates for a particular address or location. With the latitude/longitude coordinates you can fun things like plot markers on a map, calculate distances between points, etc. I have created two simple standalone functions to geocode an address, one for Google and one for Yahoo. Both require an API key.
Google Documentation Google API Key Yahoo Documentation Yahoo API Key
// API KEYS $googleKey = "INSERT-API-KEY"; $yahooKey = "INSERT-API-KEY"; // ARRAY OF LOCATION PARAMETERS $params = array(); $params['address'] = "2470 E Street"; $params['city'] = "San Diego"; $params['state'] = "CA"; $params['zip'] = "92102";
// GEOCODING USING GOOGLE $coords = geocodeGoogle($params,$googleKey); echo "Latitude: {$coords['latitude']}<br>\n"; echo "Longitude: {$coords['longitude']}<br>\n"; // GOOGLE GEOCODE FUNCTION function geocodeGoogle($params,$key){ $location = strtolower(str_replace(' ','+',"{$params['address']}, {$params['city']}, {$params['state']}, {$params['zipcode']}")); $url = "http://maps.google.com/maps/geo?q={$location}&output=csv&key={$key}"; $response = file_get_contents($url); $parts = explode(',',$response); return array('latitude' => $parts[2], 'longitude' => $parts[3]); }
// GEOCODING USING YAHOO $coords = geocodeYahoo($params,$yahooKey); echo "Latitude: {$coords['latitude']}<br>\n"; echo "Longitude: {$coords['longitude']}<br>\n"; // YAHOO GEOCODE FUNCTION function geocodeYahoo($params,$key){ $location = strtolower(str_replace(' ','+',"{$params['address']}, {$params['city']}, {$params['state']}, {$params['zipcode']}")); $url = "http://local.yahooapis.com/MapsService/V1/geocode?appid={$key}&location={$location}&output=php"; $response = file_get_contents($url); $data = unserialize($response); return array('latitude' => $data['ResultSet']['Result']['Latitude'], 'longitude' => $data['ResultSet']['Result']['Longitude']); }
About this entry
You’re currently reading “Geocoding: Location to Latitude/Longitude,” an entry on BRADINO
- Published:
- 9.25.08 / 1pm
- Category:
- PHP
- Tags:
2 Comments
Jump to comment form | comments rss [?]