it-blaster / yandex-maps-form-type-bundle
Set the latitude and longitude using Yandex Maps
v1.0.6
2016-10-26 15:11 UTC
Requires
- php: >=5.3.2
- symfony/framework-bundle: ~2.1
This package is not auto-updated.
Last update: 2024-11-20 15:49:21 UTC
README
Set the latitude and longitude using Yandex Maps
Installation
Add it-blaster/yandex-maps-form-type-bundle to your composer.json
file and run composer
... "require": { "it-blaster/yandex-maps-form-type-bundle": "1.0.*" } ...
Register the bundle in your AppKernel.php
... new Fenrizbes\YandexMapsFormTypeBundle\FenrizbesYandexMapsFormTypeBundle(), ...
Include bundle's scripts in your page:
... <script src="{{ asset('bundles/fenrizbesyandexmapsformtype/js/yandex_maps_widget.js') }}"></script> ...
Usage
Just set the yandex_maps
FormType for your field as follows:
... ->add('coordinates', 'yandex_maps') ...
The type takes and returns an array with items lat
for the latitude and lng
for the longitude. So you need to
configure your database coordinates column as OBJECT
or create the setter and getter for it on your model.
Options
There are a few options that you can pass:
... ->add('coordinates', 'yandex_maps', array( 'width' => 640, // The map's width 'height' => 480, // The map's height 'default' => array( 'lat' => 55.75319, // The default latitude value 'lng' => 37.619953 // The default longitude value ), 'parameters' => array( 'type' => 'yandex#map', // The default map's type 'zoom' => 11, // The initial zoom size 'scrollZoom' => false, // Enable/disable scroll zoom 'searchSupport' => false, // Enable/disable searching objects by searchControl 'controls' => array( // Enabled map's controls 'zoomControl' ) ) )) ...
Configuration
You can configure default values for type's options to avoid passing them every time:
... fenrizbes_yandex_maps_form_type: size: width: 640 height: 480 default: lat: 55.75319 lng: 37.619953 parameters: type: 'yandex#map' zoom: 11 scrollZoom: false searchControl: false controls: [ 'zoomControl' ] ...