Nastavení
parent
f15fc9317b
commit
0e18b46a15
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Core;
|
||||||
|
|
||||||
|
|
||||||
|
final class MapovyPodklad
|
||||||
|
{
|
||||||
|
public const COOKIE = 'mapovyPodklad';
|
||||||
|
|
||||||
|
public const OSM = 'osm';
|
||||||
|
|
||||||
|
public const MAPYCZ = 'mapycz';
|
||||||
|
|
||||||
|
public const MAPYCZ_LETECKA = 'mapycz-letecka';
|
||||||
|
|
||||||
|
public const VYCHOZI = self::OSM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array<string, string>
|
||||||
|
*/
|
||||||
|
public static function moznosti(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
self::OSM => 'OpenStreetMap',
|
||||||
|
self::MAPYCZ => 'Mapy.cz',
|
||||||
|
self::MAPYCZ_LETECKA => 'Mapy.cz (letecká)',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function platny(?string $hodnota): string
|
||||||
|
{
|
||||||
|
return array_key_exists((string) $hodnota, self::moznosti())
|
||||||
|
? (string) $hodnota
|
||||||
|
: self::VYCHOZI;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
|
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
|
||||||
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
|
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
|
||||||
crossorigin=""></script>
|
crossorigin=""></script>
|
||||||
|
<script src="{$basePath}/js/mapove-podklady.js?v=1"></script>
|
||||||
|
|
||||||
{* Locate-Control *}
|
{* Locate-Control *}
|
||||||
<link rel="stylesheet" href="{$basePath}/locate/L.Control.Locate.min.css" />
|
<link rel="stylesheet" href="{$basePath}/locate/L.Control.Locate.min.css" />
|
||||||
|
|
@ -28,7 +29,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{* naše vlastní styly *}
|
{* naše vlastní styly *}
|
||||||
<link href="{$basePath}/css/base.css?v=9" rel="stylesheet">
|
<link href="{$basePath}/css/base.css?v=10" rel="stylesheet">
|
||||||
|
|
||||||
<title>{ifset title}{include title|stripHtml} | {/ifset}Obvody</title>
|
<title>{ifset title}{include title|stripHtml} | {/ifset}Obvody</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
@ -55,7 +56,8 @@
|
||||||
<a class='nav-link' n:href=':Home:'>Home</a>
|
<a class='nav-link' n:href=':Home:'>Home</a>
|
||||||
<a class='nav-link' n:href=':Mapa:'>Mapa</a>
|
<a class='nav-link' n:href=':Mapa:'>Mapa</a>
|
||||||
<a class='nav-link' n:href=':Obvod:list'>Obvody</a>
|
<a class='nav-link' n:href=':Obvod:list'>Obvody</a>
|
||||||
<a class='nav-link' n:href=':Zvestovatel:'>Zvěstovatelé</a>
|
<a class='nav-link' n:href=':Zvestovatel:'>Zvěstovatelé</a>
|
||||||
|
<a class='nav-link' n:href=':Nastaveni:'>Nastavení</a>
|
||||||
<a class='nav-link' n:href=":Sign:out">Odhlásit</a>
|
<a class='nav-link' n:href=":Sign:out">Odhlásit</a>
|
||||||
{else}
|
{else}
|
||||||
<a class='nav-link' n:href=':Home:'>Home</a>
|
<a class='nav-link' n:href=':Home:'>Home</a>
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,5 @@
|
||||||
<link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.css" />
|
<link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.css" />
|
||||||
<script src="https://unpkg.com/leaflet.markercluster@1.5.3/dist/leaflet.markercluster.js"></script>
|
<script src="https://unpkg.com/leaflet.markercluster@1.5.3/dist/leaflet.markercluster.js"></script>
|
||||||
<script type="application/json" id="stari-data">{$stariJson|noescape}</script>
|
<script type="application/json" id="stari-data">{$stariJson|noescape}</script>
|
||||||
<script src="{$basePath}/js/stari.js?v=13"></script>
|
<script src="{$basePath}/js/stari.js?v=14"></script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Presentation\Nastaveni;
|
||||||
|
|
||||||
|
use App\Core\MapovyPodklad;
|
||||||
|
use App\Presentation\BasePresenter;
|
||||||
|
use Nette\Application\UI\Form;
|
||||||
|
use Nette\Utils\ArrayHash;
|
||||||
|
|
||||||
|
|
||||||
|
final class NastaveniPresenter extends BasePresenter
|
||||||
|
{
|
||||||
|
protected function createComponentPodkladForm(): Form
|
||||||
|
{
|
||||||
|
$form = new Form;
|
||||||
|
$form->addRadioList('podklad', 'Mapové podklady', MapovyPodklad::moznosti())
|
||||||
|
->setDefaultValue($this->aktualni())
|
||||||
|
->setRequired('Vyberte mapové podklady.');
|
||||||
|
$form->addSubmit('send', 'Uložit');
|
||||||
|
$form->addProtection('Platnost formuláře vypršela, odešlete ho znovu.');
|
||||||
|
$form->onSuccess[] = $this->podkladFormSucceeded(...);
|
||||||
|
return $form;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function podkladFormSucceeded(Form $form, ArrayHash $values): void
|
||||||
|
{
|
||||||
|
$this->getHttpResponse()->setCookie(
|
||||||
|
MapovyPodklad::COOKIE,
|
||||||
|
MapovyPodklad::platny((string) $values->podklad),
|
||||||
|
'+1 year',
|
||||||
|
'/',
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
$this->flashMessage('Nastavení bylo uloženo.');
|
||||||
|
$this->redirect('default');
|
||||||
|
}
|
||||||
|
|
||||||
|
private function aktualni(): string
|
||||||
|
{
|
||||||
|
return MapovyPodklad::platny($this->getHttpRequest()->getCookie(MapovyPodklad::COOKIE));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
{block content}
|
||||||
|
|
||||||
|
<div class="platno">
|
||||||
|
<header class="lista">
|
||||||
|
<div>
|
||||||
|
<h1 class="lista-nadpis">Nastavení</h1>
|
||||||
|
<p class="lista-popis">Platí jen pro toto zařízení.</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<form n:name="podkladForm" class="panel panel-uzky formular">
|
||||||
|
<div class="alert alert-danger" n:if="$form->hasErrors()" n:foreach="$form->getErrors() as $error">{$error}</div>
|
||||||
|
<fieldset class="podklady">
|
||||||
|
<legend class="form-label">Mapové podklady</legend>
|
||||||
|
<p class="lista-popis podklady-popis">Výchozí podklad je OpenStreetMap. Vybraná mapa se použije na celé mapě i v náhledu obvodu.</p>
|
||||||
|
<div n:foreach="$form[podklad]->getItems() as $klic => $popisek" class="form-check">
|
||||||
|
<input n:name="podklad:$klic" class="form-check-input">
|
||||||
|
<label n:name="podklad:$klic" class="form-check-label">{$popisek}</label>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
<div class="formular-akce">
|
||||||
|
<button n:name="send" class="tlacitko is-aktivni">Uložit</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
@ -161,7 +161,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="application/json" id="zvestovatele-data">{$zvestovateleJson|noescape}</script>
|
<script type="application/json" id="zvestovatele-data">{$zvestovateleJson|noescape}</script>
|
||||||
<script src="{$basePath}/js/obvod-nahled.js?v=2"></script>
|
<script src="{$basePath}/js/obvod-nahled.js?v=3"></script>
|
||||||
<script src="{$basePath}/js/naseptavac.js?v=3"></script>
|
<script src="{$basePath}/js/naseptavac.js?v=3"></script>
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,5 @@
|
||||||
<link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.css" />
|
<link rel="stylesheet" href="https://unpkg.com/leaflet.markercluster@1.5.3/dist/MarkerCluster.css" />
|
||||||
<script src="https://unpkg.com/leaflet.markercluster@1.5.3/dist/leaflet.markercluster.js"></script>
|
<script src="https://unpkg.com/leaflet.markercluster@1.5.3/dist/leaflet.markercluster.js"></script>
|
||||||
<script type="application/json" id="stari-data">{$stariJson|noescape}</script>
|
<script type="application/json" id="stari-data">{$stariJson|noescape}</script>
|
||||||
<script src="{$basePath}/js/stari.js?v=5"></script>
|
<script src="{$basePath}/js/stari.js?v=14"></script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
|
||||||
|
|
@ -724,6 +724,41 @@ body:has(#map[data-max]) {
|
||||||
margin-top: 0.4rem;
|
margin-top: 0.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.podklady {
|
||||||
|
border: 0;
|
||||||
|
margin: 0 0 0.85rem;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.podklady-popis {
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formular .form-check {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.55rem;
|
||||||
|
min-height: 2.2rem;
|
||||||
|
margin-bottom: 0.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formular .form-check-input {
|
||||||
|
width: 1.15rem;
|
||||||
|
height: 1.15rem;
|
||||||
|
margin: 0;
|
||||||
|
border-color: #2652a8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formular .form-check-input:checked {
|
||||||
|
background-color: #2652a8;
|
||||||
|
border-color: #2652a8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formular .form-check-label {
|
||||||
|
color: #1a1a1a;
|
||||||
|
font-size: 1.05rem;
|
||||||
|
}
|
||||||
|
|
||||||
.tabulka {
|
.tabulka {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-collapse: separate;
|
border-collapse: separate;
|
||||||
|
|
|
||||||
|
|
@ -1,63 +1,12 @@
|
||||||
// Mapy.CZ:
|
var podklady = MapovePodklady.vytvor();
|
||||||
const API_KEY = 'Uw8gm6JPZpnT3GfNnh8adARpQI-WBGy6QaY9g6VhD74';
|
|
||||||
var mapyCZ = L.tileLayer(`https://api.mapy.cz/v1/maptiles/basic/256/{z}/{x}/{y}?apikey=${API_KEY}`, {
|
|
||||||
minZoom: 0,
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: '<a href="https://api.mapy.cz/copyright" target="_blank">© Seznam.cz a.s. a další</a>',
|
|
||||||
})
|
|
||||||
var mapyCZletecka = L.tileLayer(`https://api.mapy.cz/v1/maptiles/aerial/256/{z}/{x}/{y}?apikey=${API_KEY}`, {
|
|
||||||
minZoom: 0,
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: '<a href="https://api.mapy.cz/copyright" target="_blank">© Seznam.cz a.s. a další</a>',
|
|
||||||
})
|
|
||||||
// OpenStreetMap - base:
|
|
||||||
var osm = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
|
||||||
})
|
|
||||||
|
|
||||||
// Výchozí bod + podkladové mapy:
|
|
||||||
var map = L.map('map', {
|
var map = L.map('map', {
|
||||||
center: [50.853501146, 14.8425], // Hrádek
|
center: [50.853501146, 14.8425], // Hrádek
|
||||||
zoom: 13,
|
zoom: 13,
|
||||||
layers: [mapyCZ]
|
layers: [MapovePodklady.vychozi(podklady)]
|
||||||
});
|
});
|
||||||
|
|
||||||
// Rámeček s výběrem podkladů:
|
var layerControl = L.control.layers(MapovePodklady.popisky(podklady)).addTo(map);
|
||||||
var baseMaps = {
|
MapovePodklady.logo(map, podklady);
|
||||||
"<span style='color: blue'>Mapy.cz</span>": mapyCZ,
|
|
||||||
"Mapy.cz (letecká)": mapyCZletecka,
|
|
||||||
"OpenStreetMap": osm
|
|
||||||
};
|
|
||||||
var layerControl = L.control.layers(baseMaps).addTo(map);
|
|
||||||
|
|
||||||
/*
|
|
||||||
We also require you to include our logo somewhere over the map.
|
|
||||||
We create our own map control implementing a documented interface,
|
|
||||||
that shows a clickable logo.
|
|
||||||
See https://leafletjs.com/reference.html#control
|
|
||||||
*/
|
|
||||||
const LogoControl = L.Control.extend({
|
|
||||||
options: {
|
|
||||||
position: 'bottomleft',
|
|
||||||
},
|
|
||||||
|
|
||||||
onAdd: function (map) {
|
|
||||||
const container = L.DomUtil.create('div');
|
|
||||||
const link = L.DomUtil.create('a', '', container);
|
|
||||||
|
|
||||||
link.setAttribute('href', 'http://mapy.cz/');
|
|
||||||
link.setAttribute('target', '_blank');
|
|
||||||
link.innerHTML = '<img src="https://api.mapy.cz/img/api/logo.svg" />';
|
|
||||||
L.DomEvent.disableClickPropagation(link);
|
|
||||||
|
|
||||||
return container;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
// finally we add our LogoControl to the map
|
|
||||||
new LogoControl().addTo(map, {
|
|
||||||
layers: [mapyCZ, mapyCZletecka]
|
|
||||||
});
|
|
||||||
|
|
||||||
// futury:
|
// futury:
|
||||||
function onEachFeature(feature, layer) {
|
function onEachFeature(feature, layer) {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,101 @@
|
||||||
|
// Sdílené podkladové mapy. Výchozí je OpenStreetMap, volbu drží cookie mapovyPodklad.
|
||||||
|
(function (global) {
|
||||||
|
var COOKIE = 'mapovyPodklad';
|
||||||
|
var VYCHOZI = 'osm';
|
||||||
|
var API_KEY = 'Uw8gm6JPZpnT3GfNnh8adARpQI-WBGy6QaY9g6VhD74';
|
||||||
|
|
||||||
|
function ctiCookie(jmeno) {
|
||||||
|
var shoda = document.cookie.match(new RegExp('(?:^|; )' + jmeno + '=([^;]*)'));
|
||||||
|
if (!shoda) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return decodeURIComponent(shoda[1]);
|
||||||
|
} catch (e) {
|
||||||
|
return shoda[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function klic() {
|
||||||
|
var hodnota = ctiCookie(COOKIE);
|
||||||
|
if (hodnota === 'mapycz' || hodnota === 'mapycz-letecka') {
|
||||||
|
return hodnota;
|
||||||
|
}
|
||||||
|
return VYCHOZI;
|
||||||
|
}
|
||||||
|
|
||||||
|
function vytvor() {
|
||||||
|
return {
|
||||||
|
osm: L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||||
|
maxZoom: 19,
|
||||||
|
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
|
||||||
|
}),
|
||||||
|
mapycz: L.tileLayer('https://api.mapy.cz/v1/maptiles/basic/256/{z}/{x}/{y}?apikey=' + API_KEY, {
|
||||||
|
minZoom: 0,
|
||||||
|
maxZoom: 19,
|
||||||
|
attribution: '<a href="https://api.mapy.cz/copyright" target="_blank">© Seznam.cz a.s. a další</a>',
|
||||||
|
}),
|
||||||
|
'mapycz-letecka': L.tileLayer('https://api.mapy.cz/v1/maptiles/aerial/256/{z}/{x}/{y}?apikey=' + API_KEY, {
|
||||||
|
minZoom: 0,
|
||||||
|
maxZoom: 19,
|
||||||
|
attribution: '<a href="https://api.mapy.cz/copyright" target="_blank">© Seznam.cz a.s. a další</a>',
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function vychozi(vrstvy) {
|
||||||
|
return vrstvy[klic()] || vrstvy[VYCHOZI];
|
||||||
|
}
|
||||||
|
|
||||||
|
function popisky(vrstvy) {
|
||||||
|
return {
|
||||||
|
'Mapy.cz': vrstvy.mapycz,
|
||||||
|
'Mapy.cz (letecká)': vrstvy['mapycz-letecka'],
|
||||||
|
'OpenStreetMap': vrstvy.osm,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function jeMapyCz(vrstva, vrstvy) {
|
||||||
|
return vrstva === vrstvy.mapycz || vrstva === vrstvy['mapycz-letecka'];
|
||||||
|
}
|
||||||
|
|
||||||
|
function logo(map, vrstvy) {
|
||||||
|
var control = new (L.Control.extend({
|
||||||
|
options: { position: 'bottomleft' },
|
||||||
|
onAdd: function () {
|
||||||
|
var container = L.DomUtil.create('div');
|
||||||
|
var link = L.DomUtil.create('a', '', container);
|
||||||
|
link.setAttribute('href', 'http://mapy.cz/');
|
||||||
|
link.setAttribute('target', '_blank');
|
||||||
|
link.innerHTML = '<img src="https://api.mapy.cz/img/api/logo.svg" alt="Mapy.cz" />';
|
||||||
|
L.DomEvent.disableClickPropagation(link);
|
||||||
|
return container;
|
||||||
|
},
|
||||||
|
}))();
|
||||||
|
|
||||||
|
function obnov() {
|
||||||
|
var aktivni = false;
|
||||||
|
map.eachLayer(function (layer) {
|
||||||
|
if (jeMapyCz(layer, vrstvy)) {
|
||||||
|
aktivni = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (aktivni && !control._map) {
|
||||||
|
control.addTo(map);
|
||||||
|
} else if (!aktivni && control._map) {
|
||||||
|
control.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
map.on('baselayerchange', obnov);
|
||||||
|
obnov();
|
||||||
|
}
|
||||||
|
|
||||||
|
global.MapovePodklady = {
|
||||||
|
klic: klic,
|
||||||
|
vytvor: vytvor,
|
||||||
|
vychozi: vychozi,
|
||||||
|
popisky: popisky,
|
||||||
|
logo: logo,
|
||||||
|
};
|
||||||
|
})(window);
|
||||||
|
|
@ -11,33 +11,14 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var API_KEY = 'Uw8gm6JPZpnT3GfNnh8adARpQI-WBGy6QaY9g6VhD74';
|
var podklady = MapovePodklady.vytvor();
|
||||||
var mapyCZ = L.tileLayer('https://api.mapy.cz/v1/maptiles/basic/256/{z}/{x}/{y}?apikey=' + API_KEY, {
|
|
||||||
minZoom: 0,
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: '<a href="https://api.mapy.cz/copyright" target="_blank">© Seznam.cz a.s. a další</a>',
|
|
||||||
});
|
|
||||||
|
|
||||||
var map = L.map(el, {
|
var map = L.map(el, {
|
||||||
center: [50.853501146, 14.8425],
|
center: [50.853501146, 14.8425],
|
||||||
zoom: 14,
|
zoom: 14,
|
||||||
layers: [mapyCZ],
|
layers: [MapovePodklady.vychozi(podklady)],
|
||||||
scrollWheelZoom: false,
|
scrollWheelZoom: false,
|
||||||
});
|
});
|
||||||
|
MapovePodklady.logo(map, podklady);
|
||||||
var LogoControl = L.Control.extend({
|
|
||||||
options: { position: 'bottomleft' },
|
|
||||||
onAdd: function () {
|
|
||||||
var container = L.DomUtil.create('div');
|
|
||||||
var link = L.DomUtil.create('a', '', container);
|
|
||||||
link.setAttribute('href', 'http://mapy.cz/');
|
|
||||||
link.setAttribute('target', '_blank');
|
|
||||||
link.innerHTML = '<img src="https://api.mapy.cz/img/api/logo.svg" alt="Mapy.cz" />';
|
|
||||||
L.DomEvent.disableClickPropagation(link);
|
|
||||||
return container;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
new LogoControl().addTo(map);
|
|
||||||
|
|
||||||
function style() {
|
function style() {
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -116,47 +116,15 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var API_KEY = 'Uw8gm6JPZpnT3GfNnh8adARpQI-WBGy6QaY9g6VhD74';
|
var podklady = MapovePodklady.vytvor();
|
||||||
var mapyCZ = L.tileLayer('https://api.mapy.cz/v1/maptiles/basic/256/{z}/{x}/{y}?apikey=' + API_KEY, {
|
|
||||||
minZoom: 0,
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: '<a href="https://api.mapy.cz/copyright" target="_blank">© Seznam.cz a.s. a další</a>',
|
|
||||||
});
|
|
||||||
var mapyCZletecka = L.tileLayer('https://api.mapy.cz/v1/maptiles/aerial/256/{z}/{x}/{y}?apikey=' + API_KEY, {
|
|
||||||
minZoom: 0,
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: '<a href="https://api.mapy.cz/copyright" target="_blank">© Seznam.cz a.s. a další</a>',
|
|
||||||
});
|
|
||||||
var osm = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
||||||
maxZoom: 19,
|
|
||||||
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
|
|
||||||
});
|
|
||||||
|
|
||||||
var map = L.map(mapaEl, {
|
var map = L.map(mapaEl, {
|
||||||
center: [50.853501146, 14.8425],
|
center: [50.853501146, 14.8425],
|
||||||
zoom: 13,
|
zoom: 13,
|
||||||
layers: [mapyCZ],
|
layers: [MapovePodklady.vychozi(podklady)],
|
||||||
});
|
});
|
||||||
|
|
||||||
L.control.layers({
|
L.control.layers(MapovePodklady.popisky(podklady)).addTo(map);
|
||||||
'Mapy.cz': mapyCZ,
|
MapovePodklady.logo(map, podklady);
|
||||||
'Mapy.cz (letecká)': mapyCZletecka,
|
|
||||||
'OpenStreetMap': osm,
|
|
||||||
}).addTo(map);
|
|
||||||
|
|
||||||
var LogoControl = L.Control.extend({
|
|
||||||
options: { position: 'bottomleft' },
|
|
||||||
onAdd: function () {
|
|
||||||
var container = L.DomUtil.create('div');
|
|
||||||
var link = L.DomUtil.create('a', '', container);
|
|
||||||
link.setAttribute('href', 'http://mapy.cz/');
|
|
||||||
link.setAttribute('target', '_blank');
|
|
||||||
link.innerHTML = '<img src="https://api.mapy.cz/img/api/logo.svg" alt="Mapy.cz" />';
|
|
||||||
L.DomEvent.disableClickPropagation(link);
|
|
||||||
return container;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
new LogoControl().addTo(map);
|
|
||||||
|
|
||||||
var legendaEl = null;
|
var legendaEl = null;
|
||||||
var Legenda = L.Control.extend({
|
var Legenda = L.Control.extend({
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue