mirror of
https://github.com/netzmacht/contao-leaflet-maps.git
synced 2025-11-30 03:54:10 +01:00
Add support for rectangles.
This commit is contained in:
@@ -22,3 +22,7 @@
|
|||||||
.tl_listing_container.tree_view ul[class="level_1"] li.tl_file > .tl_left {
|
.tl_listing_container.tree_view ul[class="level_1"] li.tl_file > .tl_left {
|
||||||
padding-left: 20px !important;
|
padding-left: 20px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.long .tl_text_2 {
|
||||||
|
width: 325px;
|
||||||
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ $GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\PolygonM
|
|||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper';
|
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper';
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper';
|
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper';
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper';
|
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper';
|
||||||
|
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Vector\RectangleMapper';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Leaflet encoders.
|
* Leaflet encoders.
|
||||||
|
|||||||
@@ -125,7 +125,9 @@ $GLOBALS['TL_DCA']['tl_leaflet_vector'] = array
|
|||||||
'multiPolygon extends multiPolyline' => array(
|
'multiPolygon extends multiPolyline' => array(
|
||||||
),
|
),
|
||||||
|
|
||||||
'rectangle extends polygon' => array(),
|
'rectangle extends polygon' => array(
|
||||||
|
'data' => array('bounds'),
|
||||||
|
),
|
||||||
|
|
||||||
'circle extends default' => array(
|
'circle extends default' => array(
|
||||||
'+data' => array('coordinates', 'radius'),
|
'+data' => array('coordinates', 'radius'),
|
||||||
@@ -388,6 +390,22 @@ $GLOBALS['TL_DCA']['tl_leaflet_vector'] = array
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
'sql' => "longblob NULL"
|
'sql' => "longblob NULL"
|
||||||
)
|
),
|
||||||
|
'bounds' => array
|
||||||
|
(
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['bounds'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => array(
|
||||||
|
),
|
||||||
|
'eval' => array(
|
||||||
|
'maxlength' => 255,
|
||||||
|
'multiple'=>true,
|
||||||
|
'size'=>2,
|
||||||
|
'tl_class' => 'long clr',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
),
|
||||||
|
'sql' => "mediumblob NULL"
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package dev
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2015 netzmacht creative David Molineus
|
||||||
|
* @license LGPL 3.0
|
||||||
|
* @filesource
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Mapper\Vector;
|
||||||
|
|
||||||
|
|
||||||
|
use Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper;
|
||||||
|
use Netzmacht\LeafletPHP\Definition;
|
||||||
|
use Netzmacht\LeafletPHP\Definition\Type\LatLng;
|
||||||
|
use Netzmacht\LeafletPHP\Definition\Type\LatLngBounds;
|
||||||
|
use Netzmacht\LeafletPHP\Definition\Vector\Circle;
|
||||||
|
use Netzmacht\LeafletPHP\Definition\Vector\Rectangle;
|
||||||
|
|
||||||
|
class RectangleMapper extends AbstractVectorMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Class of the definition being created.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected static $definitionClass = 'Netzmacht\LeafletPHP\Definition\Vector\Rectangle';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Layer type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected static $type = 'rectangle';
|
||||||
|
|
||||||
|
protected function initialize()
|
||||||
|
{
|
||||||
|
parent::initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function buildConstructArguments(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
|
||||||
|
{
|
||||||
|
$latLngs = array_map(
|
||||||
|
function($latLng) {
|
||||||
|
return LatLng::fromString($latLng);
|
||||||
|
},
|
||||||
|
deserialize($model->bounds, true)
|
||||||
|
);
|
||||||
|
|
||||||
|
$arguments = parent::buildConstructArguments($model, $mapper, $bounds);
|
||||||
|
$arguments[] = new LatLngBounds($latLngs[0], $latLngs[1]);
|
||||||
|
|
||||||
|
return $arguments;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user