This bundle provides simple map rendering in symfony application.
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require nucleos/maps-bundle
composer require geocoder-php/nominatim-provider # if you want OpenStreetMaps Geocoder
Then, enable the bundle by adding it to the list of registered bundles in config/bundles.php
file of your project:
// config/bundles.php
return [
// ...
Nucleos\MapsBundle\NucleosMapsBundle::class => ['all' => true],
];
Create a configuration file called nucleos_maps.yaml
and define geocoders:
# config/packages/nucleos_maps.yaml
bazinga_geocoder:
providers:
nominatim:
factory: Bazinga\GeocoderBundle\ProviderFactory\NominatimFactory
cache: 'cache.geocoder' # PSR16 Cache pool
cache_lifetime: 3600
cache_precision: 4
nucleos_maps:
geocoder:
service: 'bazinga_geocoder.provider.nominatim'
If you want dynamic address resultion:
{# template.twig #}
{{ sonata_block_render({ 'type': 'nucleos_maps.block.map' }, {
'address': 'Hamburg',
'service': 'openstreetmap'
}) }}
If you know the exact coordinates:
{# template.twig #}
{{ sonata_block_render({ 'type': 'nucleos_maps.block.map' }, {
'longitude': '9.993682',
'latitude': '53.551086',
'service': 'openstreetmap'
}) }}
The assets can be loaded via stimulus.
When using webpack-encore with enableStimulusBridge
everything is pre-configured for you.
This bundle is under the MIT license.