class GeoJSON in Openlayers 7.3
Class GeoJSON.
Plugin annotation
@OpenlayersPlugin(
id = "GeoJSON"
)
Hierarchy
- class \Drupal\openlayers\Types\Base extends \Drupal\Component\Plugin\PluginBase implements ObjectInterface
- class \Drupal\openlayers\Types\Source implements SourceInterface
- class \Drupal\openlayers\Plugin\Source\GeoJSON\GeoJSON
- class \Drupal\openlayers\Types\Source implements SourceInterface
Expanded class hierarchy of GeoJSON
2 string references to 'GeoJSON'
- GeofieldWidget::optionsForm in modules/
openlayers_geofield/ src/ Plugin/ Component/ GeofieldWidget/ GeofieldWidget.php - @TODO What is this return? If it is the form, why is form by reference?
- GeofieldWidget::postBuild in modules/
openlayers_geofield/ src/ Plugin/ Component/ GeofieldWidget/ GeofieldWidget.php - Invoked after an objects render array is built.
File
- src/
Plugin/ Source/ GeoJSON/ GeoJSON.php, line 19 - Source: GeoJson.
Namespace
Drupal\openlayers\Plugin\Source\GeoJSONView source
class GeoJSON extends Source {
/**
* {@inheritdoc}
*/
public function optionsForm(array &$form, array &$form_state) {
$form['options']['url'] = array(
'#title' => t('URL'),
'#type' => 'textfield',
'#maxlength' => '256',
'#default_value' => $this
->getOption('url'),
);
$form['options']['useBBOX'] = array(
'#type' => 'checkbox',
'#title' => t('Use Bounding Box Strategy'),
'#description' => t('Bounding Box strategy will add a query string onto the GeoJSON URL, which means that only data in the viewport of the map will be loaded. This can be helpful if you have lots of data coming from the feed.'),
'#default_value' => $this
->getOption('useBBOX'),
);
$form['options']['paramForwarding'] = array(
'#type' => 'checkbox',
'#title' => t('Forward parameters on bbox load'),
'#description' => t('If enabled all GET request parameters will be forwarded when loading the bbox content.'),
'#default_value' => $this
->getOption('paramForwarding', TRUE),
'#states' => array(
'invisible' => array(
':input[name="options[useBBOX]"]' => array(
'checked' => FALSE,
),
),
),
);
$form['options']['reloadOnZoomChange'] = array(
'#type' => 'checkbox',
'#title' => t('Reload features on zoom change.'),
'#description' => t('Reload the features if the zoom level of the map changes. Handy if you use a zoom aware backend clustering.'),
'#default_value' => $this
->getOption('reloadOnZoomChange'),
);
$form['options']['reloadOnExtentChange'] = array(
'#type' => 'checkbox',
'#title' => t('Reload features on extent change'),
'#description' => t('Reload the features if the visible part of the map changes (e.g. by dragging the map).'),
'#default_value' => $this
->getOption('reloadOnExtentChange'),
);
$form['options']['geojson_data'] = array(
'#type' => 'textarea',
'#title' => t('GeoJSON Data'),
'#description' => t('Paste raw GeoJSON data here. It is better to use a URL. This is provided for very simple use cases like one or two features. If there is data here, it will override the URL above.'),
'#default_value' => $this
->getOption('geojson_data'),
'#states' => array(
'invisible' => array(
':input[name="options[useBBOX]"]' => array(
'checked' => TRUE,
),
),
),
);
$form['options']['devMode'] = array(
'#type' => 'checkbox',
'#title' => t('Enable developer mode.'),
'#description' => t('If enabled you can edit the request to send using a dialog.'),
'#default_value' => $this
->getOption('devMode'),
);
}
/**
* {@inheritdoc}
*/
public function getJS() {
$js = parent::getJS();
// Ensure we've a sane url.
if (!empty($js['opt']['url'])) {
$js['opt']['url'] = url($js['opt']['url']);
}
else {
// Remove the option as it is even used if empty.
unset($js['opt']['url']);
}
// @TODO Find a way how to do this just once per map / collection.
if ($this
->getOption('devMode')) {
include 'forms.inc';
$form_state = array();
$form_state['build_info']['args'] = array(
$this,
);
$form = drupal_build_form('openlayers_dev_dialog_form', $form_state);
unset($form['options']['devMode']);
$js['opt']['devDialog'] = filter_xss(drupal_render($form), array(
'label',
'form',
'input',
'select',
'textarea',
'div',
'ul',
'ol',
'li',
'dl',
'dt',
'dd',
));
}
return $js;
}
/**
* {@inheritdoc}
*/
public function attached() {
$attached = parent::attached();
$plugin = $this
->getPluginDefinition();
$plugin['path'] = $this
->getClassDirectory();
if ($this
->getOption('devMode')) {
// @TODO Find a way how to do this just once per map / collection.
$attached['library']['system.ui.dialog'] = array(
'system',
'ui.dialog',
);
$attached['library']['system.jquery.cookie'] = array(
'system',
'jquery.cookie',
);
$attached['js'][$plugin['path'] . '/js/geojson_dev.js']['weight'] = Config::get('openlayers.js_css.weight') + 1;
}
else {
unset($attached['js'][$plugin['path'] . '/js/geojson_dev.js']);
unset($attached['css'][$plugin['path'] . '/css/geojson_dev.css']);
}
return $attached;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Base:: |
protected | property | Holds all the attachment used by this object. | 6 |
Base:: |
protected | property | Holds the Collection object. | |
Base:: |
protected | property | A unique ID for the object. | |
Base:: |
public | function |
Add an object into the collection of the parent object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Remove an option. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Defines dependencies. Overrides ObjectInterface:: |
3 |
Base:: |
public | function |
Returns the path to the plugin directory. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Returns the path to the class file. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the Collection object linked to the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the object configuration. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return all the dependencies objects of the parent object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the description of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return an object, CTools Exportable. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the Factory Service of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the object unique ID. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the unique machine name of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the human name of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return an array of OL objects indexed by their type. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Returns an option. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the options array. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Returns an array with the maps this object is attached on. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the description of the object's plugin. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return the module that provides this plugin. Overrides ObjectInterface:: |
|
Base:: |
public | function |
The type of this object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Get the weight of an object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Refresh string translations. Overrides ObjectInterface:: |
1 |
Base:: |
public | function |
Initializes the object. Overrides ObjectInterface:: |
2 |
Base:: |
public | function |
Initializes the Collection,
Import objects from options,
Import the current object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Whether or not this object has to be processed asynchronously. Overrides ObjectInterface:: |
3 |
Base:: |
public | function |
Submit callback for the options form. Overrides ObjectInterface:: |
11 |
Base:: |
public | function |
Validation callback for the options form. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Return a flat array containing Openlayers Objects from the options array. Overrides ObjectInterface:: |
9 |
Base:: |
public | function |
Invoked after an objects render array is built. Overrides ObjectInterface:: |
13 |
Base:: |
public | function |
Invoked before an objects render array is built. Overrides ObjectInterface:: |
4 |
Base:: |
public | function |
Remove an object from the collection. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Reset the object's Collection. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the Factory Service of the object. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the object ID. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set an option. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the options array. Overrides ObjectInterface:: |
|
Base:: |
public | function |
Set the weight of an object. Overrides ObjectInterface:: |
|
GeoJSON:: |
public | function |
Returns a list of attachments for building the render array. Overrides Base:: |
|
GeoJSON:: |
public | function |
!Attention! This function will remove any option that is named after a
plugin type e.g.: layers, controls, styles, interactions, components . Overrides Base:: |
|
GeoJSON:: |
public | function |
@TODO What is this return? If it is the form, why is form by reference? Overrides Base:: |
|
Source:: |
protected | property |
The array containing the options. Overrides Base:: |