You are here

function location_latlon_rough_ca in Location 7.4

Same name and namespace in other branches
  1. 5.3 supported/location.ca.inc \location_latlon_rough_ca()
  2. 5 supported/location.ca.inc \location_latlon_rough_ca()
  3. 6.3 supported/location.ca.inc \location_latlon_rough_ca()
  4. 7.5 supported/location.ca.inc \location_latlon_rough_ca()
  5. 7.3 supported/location.ca.inc \location_latlon_rough_ca()

Returns a lat/lon pair of the approximate center of the given postal code in the given country

Parameters

$location: An associative array $location where 'street' => the street portion of the location 'supplemental' => additional street portion of the location 'province' => the province, state, or territory 'country' => lower-cased two-letter ISO code (REQUIRED) 'postal_code' => the international postal code for this location (REQUIRED)

Return value

An associative array where 'lat' => approximate latitude of the center of the postal code's area 'lon' => approximate longitude of the center of the postal code's area

File

supported/location.ca.inc, line 58

Code

function location_latlon_rough_ca($location = array()) {
  if (!isset($location['postal_code'])) {
    return NULL;
  }
  $result = db_query("SELECT latitude, longitude FROM {zipcodes} WHERE country = :country AND zip = :zip", array(
    ':country' => $location['country'],
    ':zip' => $location['postal_code'],
  ));
  if (($row = $result
    ->fetchObject()) !== FALSE) {
    return array(
      'lat' => $row->latitude,
      'lon' => $row->longitude,
    );
  }
  else {
    return NULL;
  }
}