Files
UAS_WebGIS_MuthiaNurainiAst…/SIG_spbu/assets/map-base.js
T
2026-06-11 18:10:22 +07:00

41 lines
1.5 KiB
JavaScript

function initBaseLayers(map) {
var baseMap = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© OpenStreetMap', maxZoom: 19
});
var baseSat = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', {
attribution: '© Esri', maxZoom: 19
});
baseMap.addTo(map);
document.getElementById('base-map').addEventListener('click', function() {
if (map.hasLayer(baseSat)) map.removeLayer(baseSat);
if (!map.hasLayer(baseMap)) baseMap.addTo(map);
this.classList.add('active');
document.getElementById('base-sat').classList.remove('active');
});
document.getElementById('base-sat').addEventListener('click', function() {
if (map.hasLayer(baseMap)) map.removeLayer(baseMap);
if (!map.hasLayer(baseSat)) baseSat.addTo(map);
this.classList.add('active');
document.getElementById('base-map').classList.remove('active');
});
}
function makeSpbuIcon(color, size) {
size = size || 18;
var h = size / 2;
return L.divIcon({
className: '',
html: '<div style="width:'+size+'px;height:'+size+'px;border-radius:50%;background:'+color+';border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);"></div>',
iconSize: [size, size], iconAnchor: [h, h], popupAnchor: [0, -12]
});
}
function showToast(msg) {
var el = document.getElementById('toast');
if (!el) return;
el.textContent = msg;
el.classList.add('show');
setTimeout(function() { el.classList.remove('show'); }, 3000);
}