You are here

function openlayers_layer_type_google::render in Openlayers 7.2

Same name and namespace in other branches
  1. 6.2 includes/layer_types/google.inc \openlayers_layer_type_google::render()

Render.

Overrides openlayers_layer_type::render

File

plugins/layer_types/openlayers_layer_type_google.inc, line 125
Google Layer Type

Class

openlayers_layer_type_google
OpenLayers Google Layer Type class

Code

function render(&$map) {
  global $language;
  static $google_maps_included;
  if (!isset($google_maps_included)) {

    // Include files.
    drupal_add_js(drupal_get_path('module', 'openlayers') . '/plugins/layer_types/openlayers_layer_type_google.js');
    $mapdomain = variable_get('openlayers_layers_google_mapdomain', 'maps.google.com');
    $version = variable_get('openlayers_google_version', '3.5');
    if ($version == '2') {

      // Create URL for google include
      $url = '//' . $mapdomain . '/maps?file=api&sensor=false&v=' . $version;
      $key = variable_get('openlayers_layers_google_api', variable_get('googlemap_api_key', ''));
      $url .= !empty($key) ? '&key=' . $key : '';
    }
    else {

      // Create URL for google include
      $url = '//' . $mapdomain . '/maps/api/js?sensor=false&v=' . $version;
    }
    $lang = variable_get('openlayers_layers_google_language', '');
    $lang == '' ? $language->language : $lang;

    // Google v2 uses hl and v3 uses language
    $url .= !empty($lang) ? '&hl=' . $lang : '';
    $url .= !empty($lang) ? '&language=' . $lang : '';
    $libraries = variable_get('openlayers_layers_google_libraries', '');
    $url .= !empty($libraries) ? '&libraries=' . $libraries : '';
    drupal_add_js($url, 'external');
    $google_maps_included = TRUE;
  }
}