function leaflet_widget_field_widget_settings_form in Leaflet Widget for Geofield 7.2
Same name and namespace in other branches
- 7 leaflet_widget.module \leaflet_widget_field_widget_settings_form()
Implements hook_field_widget_settings_form().
File
- ./
leaflet_widget.module, line 47 - Leaflet widget module for Geofield.
Code
function leaflet_widget_field_widget_settings_form($field, $instance) {
$form = array();
$settings = $instance['widget']['settings'];
switch ($instance['widget']['type']) {
case 'leaflet_widget_widget':
$form['map'] = array(
'#type' => 'fieldset',
'#title' => t('Default map settings'),
);
$form['map']['base_url'] = array(
'#type' => 'select',
'#title' => t('Leaflet.draw widget settings'),
'#default_value' => $settings['map']['base_url'],
'#options' => leaflet_widget_base_layers(),
);
$form['map']['center'] = array(
'#type' => 'fieldset',
'#collapsed' => TRUE,
'#collapsible' => TRUE,
'#title' => 'Default map center',
);
$form['map']['center']['lat'] = array(
'#type' => 'textfield',
'#title' => t('Latitude'),
'#default_value' => $settings['map']['center']['lat'],
'#required' => TRUE,
);
$form['map']['center']['lng'] = array(
'#type' => 'textfield',
'#title' => t('Longtitude'),
'#default_value' => $settings['map']['center']['lng'],
'#required' => TRUE,
);
$form['map']['auto_center'] = array(
'#type' => 'checkbox',
'#title' => t('Automatically center map on existing features'),
'#description' => t("This option overrides the widget's default center."),
'#default_value' => $settings['map']['auto_center'],
);
$form['map']['zoom'] = array(
'#type' => 'textfield',
'#title' => t('Default zoom level'),
'#default_value' => $settings['map']['zoom'],
'#required' => TRUE,
);
// If the geocode module is available provide the option to use it.
if (module_exists('geocoder')) {
$form['geocoder'] = array(
'#type' => 'fieldset',
'#title' => t('Geocoder settings'),
'#tree' => TRUE,
);
$form['geocoder']['enabled'] = array(
'#type' => 'checkbox',
'#title' => t('Show geocoder field'),
'#default_value' => !empty($settings['geocoder']['enabled']),
);
$processors = array();
foreach (geocoder_handler_info('text') as $item => $info) {
$processors[$item] = $info['title'];
}
$form['geocoder']['handler'] = array(
'#type' => 'select',
'#title' => t('Handler to use'),
'#options' => $processors,
'#required' => TRUE,
'#default_value' => $settings['geocoder']['handler'],
'#states' => array(
'visible' => array(
':input[name$="instance[widget][settings][geocoder][enabled]"]' => array(
'checked' => TRUE,
),
),
),
);
}
break;
}
return $form;
}