function node_field_gmap_field_formatter in Node Field 7.2
Formatter for gmap node field.
Parameters
array $node_field: Node field data.
Return value
string Google map container.
1 string reference to 'node_field_gmap_field_formatter'
- node_field_gmap_node_field_info_alter in modules/
node_field_gmap/ node_field_gmap.module - Implements hook_node_field_info_alter().
File
- modules/
node_field_gmap/ includes/ node_field_gmap.api.inc, line 90 - Api and helpers function for node_field_gmap module.
Code
function node_field_gmap_field_formatter(array $node_field) {
$value = unserialize($node_field['value']);
$map_settings = array(
'id' => 'node-field-gmap-' . $node_field['id'],
'lat' => 40,
'lon' => -100,
'description' => NULL,
'zoom' => 2,
'marker' => FALSE,
);
if (!empty($value['latitude']) && !empty($value['longitude'])) {
$map_settings['lat'] = $value['latitude'];
$map_settings['lon'] = $value['longitude'];
$map_settings['description'] = $value['description'];
$map_settings['zoom'] = 16;
$map_settings['marker'] = TRUE;
}
$url_options = array(
'external' => TRUE,
'query' => array(
'key' => variable_get('node_field_gmap_api_key', ''),
'libraries' => 'places',
),
);
$url = url('https://maps.googleapis.com/maps/api/js', $url_options);
drupal_add_js(array(
'nodeFieldGmapView' => array(
$map_settings,
),
), 'setting');
drupal_add_js($url, array(
'type' => 'external',
'group' => JS_LIBRARY,
));
drupal_add_js(drupal_get_path('module', 'node_field_gmap') . '/includes/node_field_gmap.view.js');
$output = '<div style="width:100%;height:300px;" id="' . $map_settings['id'] . '"></div>';
return $output;
}