У меня есть код листовки в веб-приложении Gis Django, как показано:
<!DOCTYPE html>
<html>
<head>
<title>Layers Control Tutorial - Leaflet</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js" integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew==" crossorigin=""></script>
<style>
html, body {
height: 100%;
margin: 0;
}
#map {
width: 600px;
height: 400px;
}
</style>
</head>
<body>
<div id='map'></div>
<script>
var L1 = L.tileLayer('https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png'),
L1B = L.tileLayer('http://127.0.0.1:8000/osm-intl/{z}/{x}/{y}.png'),
L2 = L.tileLayer('http://tiles.wmflabs.org/hillshading/{z}/{x}/{y}.png'),
L2B = L.tileLayer('http://127.0.0.1:8000/gray/{z}/{x}/{y}.png'),
L3 = L.tileLayer('https://tiles.wmflabs.org/hikebike/{z}/{x}/{y}.png'),
L3B = L.tileLayer('http://127.0.0.1:8000/hikebike/{z}/{x}/{y}.png'),
L4 = L.tileLayer('http://a.tile.stamen.com/toner/{z}/{x}/{y}.png'),
L4B = L.tileLayer('htt://127.0.0.1:8000/toner/{z}/{x}/{y}.png'),
L5 = L.tileLayer('http://c.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg');
L5B = L.tileLayer('htt://127.0.0.1:8000/watercolor/{z}/{x}/{y}.jpg');
var map = L.map('map', {
center: [39.73, -104.99],
zoom: 10,
layers: [L1]
});
var baseLayers = {
"L1": L1,"L2": L2,'L3':L3,'L4':L4,
};
var overlays = {'L5':L5,
};
L.control.layers(baseLayers, overlays).addTo(map);
</script>
</body>
</html>
L1:
L.tileLayer('https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png')
загрузить слой плиток для пользователя и L1B:
L.tileLayer('http://127.0.0.1:8000/osm-intl/{z}/{x}/{y}.png')
отправить на мой сервер то, какие плитки видел пользователь?
Я хочу, чтобы при выборе любого слоя (всего одним щелчком мыши), например, выберите L1 (на контрольном слое), одновременно включите L1 и L1B (в фоновом режиме), а при нажатии L2 (на контрольном слое) одновременно включите L2 и L2B (в фоновом режиме), и ....
Я не хочу добавлять L1B или какой-либо слой B к управляющему слою, потому что у меня так много слоев и управляющий слой. Лицо становится уродливым, и это будет сбивать с толку .
Как мне это сделать?