$territories
*/
$this->assign('title', 'Territories');
$territoriesData = [];
foreach ($territories as $territory) {
$addresses = [];
foreach ($territory->addresses as $address) {
$addresses[] = [
'id' => $address->id,
'full_address' => $address->full_address,
'lat' => (float)$address->lat,
'lng' => (float)$address->lng,
];
}
$territoriesData[] = [
'id' => $territory->id,
'name' => $territory->name,
'polygon' => $territory->polygon,
'addresses' => $addresses,
];
}
$territoriesJson = str_replace('', '<\/', (string)json_encode($territoriesData));
$mapVar = $this->Leaflet->name();
?>
= $this->Leaflet->map(['div' => ['id' => 'territories-map', 'height' => '600px']]) ?>
map() so leaflet.js (which leaflet-draw.js extends) loads first.
?>
= $this->Html->css('https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.css', ['block' => true]) ?>
= $this->Html->script('https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.js', ['block' => true]) ?>
Leaflet->addCustom(<<
Leaflet->finalize();
?>
Saved territories
No territories yet — draw one on the map above.
Name
Created
Addresses
= h($territory->name) ?>
= h($territory->created) ?>
= count($territory->addresses) ?>
Find addresses