You are here

function geofield_map_build_api_url in Geofield 7.2

Builds the javascript maps api url based on authentication method.

2 calls to geofield_map_build_api_url()
geofield_map_field_formatter_view in modules/geofield_map/geofield_map.module
Implements hook_field_formatter_view().
geofield_map_plugin_style_map::render in modules/geofield_map/includes/geofield_map_plugin_style_map.inc
Renders views (map)

File

modules/geofield_map/geofield_map.module, line 444

Code

function geofield_map_build_api_url() {

  // Google api url.
  $api_url = '//maps.googleapis.com/maps/api/js';

  // Array to hold query paramters for the google maps url.
  // Including version number as it's required for Premium plans.
  // https://developers.google.com/maps/documentation/javascript/versions
  $query = array(
    'v' => '3',
  );
  switch (variable_get('geofield_map_google_auth_method')) {
    case 1:
      $key = variable_get('geofield_map_google_apikey', FALSE);
      if (!empty($key)) {
        $query['key'] = $key;
      }
      break;
    case 2:
      $client_id = variable_get('geofield_map_google_client_id', FALSE);
      $private_key = variable_get('geofield_map_google_private_key', FALSE);
      if (!empty($client_id)) {
        $query['client'] = $client_id;
        if (!empty($private_key)) {
          $query['signature'] = $private_key;
        }
      }
      break;
  }

  // Add query params to API url.
  if (!empty($query)) {
    $api_url .= '?' . drupal_http_build_query($query);
  }
  return $api_url;
}