Files
contao-leaflet-geocode-widget/README.md
2018-02-08 21:57:20 +01:00

3.0 KiB

Leaflet geocode widget

Build Status Version License Downloads Contao Community Alliance coding standard

This extension provides an widget to pick coordinates from a map. It uses the leaflet framework.

Changlog

See CHANGELOG.

Requirements

  • Contao ~4.4

Install

1. Install using composer

php composer.phar require netzmacht/contao-leaflet-geocode-widget

2. Update your AppKernel.php

git If you use the managed edition of Contao you can skip this step.


  // Dependency is automatically installed and has to be registered
  new Contao\CoreBundle\HttpKernel\Bundle\ContaoModuleBundle('leaflet-libs', $this->getRootDir()),
  
  // Register the bundle
  new Netzmacht\Contao\Leaflet\GeocodeWidget\LeafletGeocodeWidgetBundle(),

3. Update the assets

bin/console assets:install --symlink

4. Use the widget

Coordinates only

$GLOBALS['TL_DCA']['tl_example']['fields']['coordinates'] = [
    'label'     => ['Koordinaten', 'Geben Sie die Koordinaten ein'],
    'inputType' => 'leaflet_geocode',
    'eval'      => [
        'tl_class' => 'w50',
    ],
    'sql' => 'varchar(255) NOT NULL default \'\''
];

Coordinates and radius

To pick the radius in meters as well, you have to configure the eval.radius option for the related radius field. The radius field should be a simle text input. The default, minval and maxval flags are passed to the geocode widget so that only radius in that boundary can be chosen.

$GLOBALS['TL_DCA']['tl_page']['fields']['coordinates'] = [
    'label'     => ['Koordinaten', 'Geben Sie die Koordinaten ein'],
    'inputType' => 'leaflet_geocode',
    'eval'      => [
        'tl_class' => 'w50',
        'radius'   => 'radius'
    ],
    'sql' => 'varchar(255) NOT NULL default \'\''
];

$GLOBALS['TL_DCA']['tl_page']['fields']['radius'] = [
    'label'     => ['Radius', 'Angabe des Radius in Metern'],
    'inputType' => 'text',
    'eval'      => [
        'rgxp'     => 'natural',
        'default'  => 500,
        'minval'   => 100,
        'maxval'   => 5000,
        'tl_class' => 'w50',
    ],
    'sql' => 'varchar(255) NOT NULL default \'\''
];