How to display a field twice in a view mode? I'd like to display a field_address in a view mode twice, once as the displayed address and once as a google maps directions link.  I suppose I could create one custom field formatter that outputs both components, but it seems excessive to create a formatter to display basically what should be two formatters. 

Is there a way, say in hook_entity_view to display a field twice with two formatters?  Basically say $build['field_address_direction'] = $build['field_address'] and then change the formatter?
If you want to display a field twice in hook_ENTITY_TYPE_view(), you can get the field object from the first field and clone the field with a different field formatter and custom display settings.

For example to add the body a second time with the field formatter text_summary_or_trimmed and a custom trim length of 80:

function mymodule_node_view(&amp;$build, $entity, $display, $view_mode) {
  if (isset($build['body']['#items'])) {
    $build['body_teaser'] = $build['body']['#items']-&gt;view([
      'type' =&gt; 'text_summary_or_trimmed',
      'settings' =&gt; [
        'trim_length' =&gt; 80,
      ],
    ]);
  }
}


You can clone the current settings this way:

$build['body']['#items']-&gt;getSettings();