You are here

function geofield_ymap_field_formatter_view in Geofield Yandex Maps 7

Implements hook_field_formatter_view().

File

./geofield_ymap.formatter.inc, line 147

Code

function geofield_ymap_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $settings = $display['settings'];
  $element = array();
  if ($items) {
    $map_objects = geofield_ymap_items_to_geojson($items);

    // Set balloon content
    if ($settings['map_object_balloon'] && $map_objects) {
      $ballon_content = token_replace($settings['map_object_balloon'], array(
        $entity_type => $entity,
      ));
      foreach ($map_objects['features'] as &$map_object) {
        $map_object['properties']['balloonContent'] = $ballon_content;
      }
    }
    $element[] = array(
      '#theme' => 'geofield_ymap',
      '#map_type' => $settings['map_type'],
      '#map_center' => $settings['map_center'],
      '#map_zoom' => $settings['map_zoom'],
      '#map_auto_centering' => $settings['map_auto_centering'],
      '#map_auto_zooming' => $settings['map_auto_zooming'],
      '#map_clusterize' => $settings['map_clusterize'],
      '#map_controls' => $settings['map_controls'],
      '#map_behaviors' => $settings['map_behaviors'],
      '#map_object_preset' => $settings['map_object_preset'],
      '#map_objects' => $map_objects,
    );
  }
  return $element;
}