class openlayers_layer_type_google in Openlayers 6.2
Same name and namespace in other branches
- 7.2 plugins/layer_types/openlayers_layer_type_google.inc \openlayers_layer_type_google
OpenLayers Google Layer Type class
Hierarchy
- class \openlayers_layer_type
- class \openlayers_layer_type_google
Expanded class hierarchy of openlayers_layer_type_google
7 string references to 'openlayers_layer_type_google'
- hook_openlayers_layers in docs/
openlayers.api.php - OpenLayers Layers
- hook_openlayers_layer_types in docs/
openlayers.api.php - OpenLayers Layer Types
- openlayers_layer_type_google::options_form in includes/
layer_types/ google.inc - Options form which generates layers
- openlayers_test_features_openlayers_layers in tests/
openlayers_test_features/ openlayers_test_features.openlayers_layers.inc - Implementation of hook_openlayers_layers().
- _openlayers_openlayers_layers in includes/
openlayers.layers.inc - @file
File
- includes/
layer_types/ google.inc, line 11 - Google Layer Type
View source
class openlayers_layer_type_google extends openlayers_layer_type {
function __construct($layer = array(), $map = array()) {
parent::__construct($layer, $map);
if (isset($this->data)) {
$this->data += $this
->options_init();
}
else {
$this->data = $this
->options_init();
}
}
/**
* Provide initial values for options.
*/
function options_init() {
return array(
'serverResolutions' => openlayers_get_resolutions('900913'),
'maxExtent' => openlayers_get_extent('900913'),
'projection' => array(
'900913',
),
'layer_type' => 'google',
'layer_handler' => 'google',
'baselayer' => TRUE,
);
}
/**
* Options form which generates layers
*/
function options_form() {
$google_layer_types = array(
'hybrid' => 'Hybrid',
'normal' => 'Normal',
'satellite' => 'Satellite',
'mapmaker-normal' => 'MapMaker Normal',
'mapmaker-hybrid' => 'MapMaker Hybrid',
);
return array(
'type' => array(
'#title' => t('Google Layer Type'),
'#type' => 'select',
'#default_value' => isset($this->data['type']) ? $this->data['type'] : 'normal',
'#options' => $google_layer_types,
),
'layer_type' => array(
'#type' => 'hidden',
'#value' => 'openlayers_layer_type_google',
),
'numZoomLevels' => array(
'#type' => 'textfield',
'#title' => t('Number of Zoom Levels'),
'#description' => t('Satellite and hybrid maps are occasionally
unavailable at higher zoom levels.'),
'#default_value' => isset($this->data['numZoomLevels']) ? $this->data['numZoomLevels'] : '15',
),
);
}
/**
* Layer-type-wide settings form
*/
function settings_form() {
return array(
'openlayers_google_version' => array(
'#type' => 'select',
'#title' => t('Google Maps API version'),
'#description' => t('If you use Google Maps v3, an API key is not necessary.'),
'#options' => array(
'2' => t('v2'),
'3.2' => t('v3.2'),
),
'#default_value' => variable_get('openlayers_google_version', '2'),
),
'openlayers_layers_google_api' => array(
'#type' => 'textfield',
'#title' => t('Google API Key'),
'#default_value' => variable_get('openlayers_layers_google_api', ''),
'#description' => t('<a href="@google">Obtain an API key from Google for your domain</a>', array(
'@google' => 'http://code.google.com/apis/maps/signup.html',
)),
),
'openlayers_layers_google_language' => array(
'#type' => 'textfield',
'#title' => t('Language'),
'#description' => t('This will set the language used
for the interface (like attribution) as well as tiles,
as supported by Google. By default, Google Map API will
determine the language automatically. Only use this is you
want to force a specific language. Please see
<a href="!url">this list of languages</a>.', array(
'!url' => 'http://sites.google.com/site/tomihasa/google-language-codes',
)),
'#default_value' => variable_get('openlayers_layers_google_language', ''),
),
);
}
/**
* Render.
*/
function render(&$map) {
static $google_maps_included;
if (!isset($google_maps_included)) {
// Include files.
drupal_add_js(drupal_get_path('module', 'openlayers') . '/includes/layer_types/js/google.js');
// Create URL for google include
$url = '//maps.google.com/maps?file=api&sensor=false&v=' . variable_get('openlayers_google_version', '2');
$lang = variable_get('openlayers_layers_google_language', '');
$url .= !empty($lang) ? '&hl=' . $lang : '';
$key = variable_get('openlayers_layers_google_api', variable_get('googlemap_api_key', ''));
$url .= !empty($key) ? '&key=' . $key : '';
drupal_set_html_head('<script src="' . $url . '" type="text/javascript"></script>');
$google_maps_included = TRUE;
}
return $this->options;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
openlayers_layer_type:: |
property | |||
openlayers_layer_type:: |
function | |||
openlayers_layer_type:: |
function | |||
openlayers_layer_type_google:: |
function |
Options form which generates layers Overrides openlayers_layer_type:: |
||
openlayers_layer_type_google:: |
function |
Provide initial values for options. Overrides openlayers_layer_type:: |
||
openlayers_layer_type_google:: |
function |
Render. Overrides openlayers_layer_type:: |
||
openlayers_layer_type_google:: |
function | Layer-type-wide settings form | ||
openlayers_layer_type_google:: |
function |
Overrides openlayers_layer_type:: |