Provides a form field type allowing users to draw features on a map, the features are stored as geoJSON objects in a single database field
Provides a form field type allowing users to draw features on a map, the features are stored as geoJSON objects in a single database field.
$ composer require NZTA/googlemap-leafletfield
Import the field
use NZTA\LeafletField\LeafletField;
Create a text database field to store the geojson value.
public static $db = [
'Geometry' => 'Text',
];
Create a LeafletField, passing through the object that you want to store the value against.
$field = new LeafletField('Geometry', 'Geometry', $this);
Define default field options through config.
NZTA\LeafletField\LeafletField:
map_options:
center:
latitude: "-40.866119"
longitude: "174.143780"
zoom: 5
draw_options:
polyline:
shapeOptions:
color: '#269634'
polygon:
allowIntersection: false
drawError:
color: '#b00b00'
timeout: 1000
rectangle: false
circle: false
Define custom options for individual field instances (overrides defaults).
$field->setLimit(1); // Limit the amount of objects the field can contain.
$field->setMapOptions([
'center' => [
'latitude' => '-40.866119',
'longitude' => '174.143780'
],
'zoom' => 5
]);
$field->setDrawOptions([
'polyline' => [
'shapeOptions' => [
'color' => '#269634'
]
],
'polygon' => [
'allowIntersection' => false,
'drawError' => [
'color' => '#b00b00',
'timeout' => 1000
]
],
'rectangle' => false,
'circle' => false
]);
The draw options are set using the same structure as Leaflet.draw options.
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem