You are here

function locationmap_geocode_for_address in Location Map 7.2

Same name and namespace in other branches
  1. 8.2 locationmap.module \locationmap_geocode_for_address()
  2. 7 locationmap.module \locationmap_geocode_for_address()

Returns latitude and longitude for $address or NULL if it cannot be found. @returns FALSE if address not found

3 calls to locationmap_geocode_for_address()
locationmapTest::test_locationmap_geocode_for_address in tests/locationmap.test
locationmapTest::test_locationmap_geocode_for_address_not_found in tests/locationmap.test
locationmap_geocode_for_address_recursive in ./locationmap.module
Try to get lat and lng information from address removing parts of address if not found.

File

./locationmap.module, line 329

Code

function locationmap_geocode_for_address($address) {
  $url_options = array(
    'query' => array(
      'address' => $address,
    ),
  );
  $options = array(
    'max_redirects' => 10,
    'timeout' => 120,
  );
  $response = drupal_http_request(url('http://maps.googleapis.com/maps/api/geocode/json', $url_options), $options);
  if ($response->code != 200) {
    return FALSE;
  }
  $data = json_decode($response->data);
  if (isset($data->results) && !empty($data->results)) {
    $location = $data->results[0]->geometry->location;
    return array(
      $location->lat,
      $location->lng,
    );
  }

  // Fallback
  return FALSE;
}