You are here

function webform_location_geocomplete_webform_admin_third_party_settings_form_alter in Webform 6.x

Same name and namespace in other branches
  1. 8.5 modules/webform_location_geocomplete/webform_location_geocomplete.module \webform_location_geocomplete_webform_admin_third_party_settings_form_alter()

Implements hook_webform_admin_third_party_settings_form_alter().

File

modules/webform_location_geocomplete/webform_location_geocomplete.module, line 52
Provides a form element to collect valid location information using Google Maps API's Geocoding and Places Autocomplete.

Code

function webform_location_geocomplete_webform_admin_third_party_settings_form_alter(&$form, FormStateInterface $form_state) {

  /** @var \Drupal\webform\WebformThirdPartySettingsManagerInterface $third_party_settings_manager */
  $third_party_settings_manager = \Drupal::service('webform.third_party_settings_manager');
  $default_google_maps_api_key = $third_party_settings_manager
    ->getThirdPartySetting('webform_location_geocomplete', 'default_google_maps_api_key');

  // Location geocomplete.
  $form['third_party_settings']['webform_location_geocomplete'] = [
    '#type' => 'details',
    '#title' => t('Location geocomplete'),
    '#open' => TRUE,
  ];
  $form['third_party_settings']['webform_location_geocomplete']['default_google_maps_api_key'] = [
    '#type' => 'textfield',
    '#title' => t('Google Maps API key'),
    '#description' => t('Google requires users to use a valid API key. Using the <a href="https://console.developers.google.com/apis">Google API Manager</a>, you can enable the <em>Google Maps JavaScript API</em>. That will create (or reuse) a <em>Browser key</em> which you can paste here.'),
    '#default_value' => $default_google_maps_api_key,
  ];
}