function gmap_tracks_gmap in GMap Addons 7
Same name and namespace in other branches
- 5 gmap_tracks/gmap_tracks.module \gmap_tracks_gmap()
- 6 gmap_tracks/gmap_tracks.module \gmap_tracks_gmap()
Implementation of hook_gmap().
File
- gmap_tracks/
gmap_tracks.module, line 11 - Track overlays for GMap.
Code
function gmap_tracks_gmap($op, &$map = NULL) {
switch ($op) {
case 'macro_multiple':
return array(
'track',
);
case 'parse_macro':
if (isset($map['track']) && is_array($map['track'])) {
foreach ($map['track'] as $track) {
$t = array();
$cp = strpos($track, ':');
if ($cp != false) {
$stylestr = substr($track, 0, $cp);
$t['style'] = _gmap_parse_style($stylestr);
$t['filename'] = substr($track, $cp + 1);
$map['tracks'][] = $t;
}
}
}
unset($map['track']);
break;
case 'pre_theme_map':
if (!empty($map['tracks'])) {
// Ensure the shapeloader is loaded.
drupal_add_js(drupal_get_path('module', 'gmap') . '/js/shapeloader_static.js');
drupal_add_js(drupal_get_path('module', 'gmap') . '/js/gmap_shapes.js');
// Convert tracks to shapes.
foreach ($map['tracks'] as $track) {
$s = array(
'type' => 'line',
);
$s['style'] = $track['style'];
$s['points'] = _gmap_tracks_parse($track['filename']);
$map['shapes'][] = $s;
}
unset($map['tracks']);
}
break;
}
}