netzmacht / contao-leaflet-geocode-widget
Geocode widget based on Leaflet
Fund package maintenance!
dmolineus
Installs: 14 783
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 2
Type:contao-bundle
Requires
- php: ^7.4 || ^8.0
- contao/core-bundle: ^4.13 || ^5.0
- netzmacht/contao-leaflet-libraries: ~1.3
- symfony/config: ^5.4 || ^6.0
- symfony/dependency-injection: ^5.4 || ^6.0
- symfony/http-kernel: ^5.4 || ^6.0
Requires (Dev)
- contao/manager-plugin: ^2.0
- doctrine/coding-standard: ^9.0
- phpcq/runner-bootstrap: 1.x-dev
- phpspec/phpspec: ^6.3.0 || ^7.0
Suggests
- netzmacht/contao-leaflet-maps: Leaflet Maps for Contao
This package is auto-updated.
Last update: 2024-12-04 16:51:47 UTC
README
This extension provides a widget to pick coordinates from a map. It uses the leaflet framework.
Changlog
See CHANGELOG.
Requirements
- Contao ^4.13||^5.0
- PHP ^7.4||^8.0
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' => 'leaflet_radius', // Optional, you can use a text widget as well 'eval' => [ 'default' => 500, 'minval' => 100, 'maxval' => 5000, 'steps' => 100, // Round value to the closest 100m. 'tl_class' => 'w50', ], 'sql' => 'varchar(255) NOT NULL default \'\'' ];
If you want to add an wizard icon to the radius field as well, you only have to reference the coordinates field.
$GLOBALS['TL_DCA']['tl_page']['fields']['radius'] = [ 'label' => ['Radius', 'Angabe des Radius in Metern'], 'inputType' => 'leaflet_radius', 'eval' => [ 'rgxp' => 'natural', 'default' => 500, 'minval' => 100, 'maxval' => 5000, 'tl_class' => 'w50 wizard', 'coordinates' => 'coordinates' ], 'sql' => 'varchar(255) NOT NULL default \'\'' ];