function theme_location_cck_field_map in Location 6.3
Same name and namespace in other branches
- 7.5 contrib/location_cck/location_cck.module \theme_location_cck_field_map()
- 7.3 contrib/location_cck/location_cck.module \theme_location_cck_field_map()
- 7.4 contrib/location_cck/location_cck.module \theme_location_cck_field_map()
Generate a GMap map for one or more location field values.
Mostly just cut and paste from gmap_location block view.
4 calls to theme_location_cck_field_map()
- theme_location_cck_formatter_all in contrib/
location_cck/ location_cck.module - Return both an address and a map for an individual item.
- theme_location_cck_formatter_map in contrib/
location_cck/ location_cck.module - Returns a map for an individual field value.
- theme_location_cck_formatter_multiple in contrib/
location_cck/ location_cck.module - Alternate function to return a map with all multiple values in the same map.
- theme_location_cck_formatter_multiple_all in contrib/
location_cck/ location_cck.module - Return both a addresses and a single map with all location items.
File
- contrib/
location_cck/ location_cck.module, line 426 - Defines location field type.
Code
function theme_location_cck_field_map($locations, $field) {
$count = 0;
$content = '';
foreach ($locations as $location) {
if (location_has_coordinates($location)) {
$count++;
$markername = isset($field['gmap_marker']) ? $field['gmap_marker'] : 'drupal';
$markers[] = array(
'latitude' => $location['latitude'],
'longitude' => $location['longitude'],
'markername' => $markername,
'offset' => $count - 1,
'text' => theme('location_cck_field_popup', $location, $field),
);
}
}
if (!empty($markers)) {
$macro = !empty($field['gmap_macro']) ? $field['gmap_macro'] : '[gmap ]';
$map = gmap_parse_macro($macro);
$map['latitude'] = $markers[0]['latitude'];
$map['longitude'] = $markers[0]['longitude'];
$map['markers'] = $markers;
$map['id'] = gmap_get_auto_mapid();
$content = theme('gmap', array(
'#settings' => $map,
));
}
return $content;
}