main.js aktualisiert

Renderer in Map Libre Code und Kameras synchronisiert
This commit is contained in:
2026-05-11 16:28:15 +00:00
parent 7ad163c642
commit 2eac970e7f

44
main.js
View File

@@ -23,8 +23,26 @@ map.addControl(
}) })
); );
//Dateipfade der Punktwolken
const pointCloudFiles={
first: 'punktwolke_1.laz',
second: 'punktwolke_2.laz',
third: 'punktwolke_3.laz'
}
//Aktuelle Datei und Sichtbarkeit
let currentData=null;
let isVisible=true;
const overlay= new MapboxOverlay({layers: []});
function updateLayer(){
if (!currentData || !isVisible){
overlay.setProps({layers:[]});
return;
}
const layer = new PointCloudLayer({ const layer = new PointCloudLayer({
data: 'punktwolke subsample test.laz', id: 'pointcloud-layer',
data: currentData,
loaders: [LASLoader], loaders: [LASLoader],
// 1. Set the coordinate system to meter offsets // 1. Set the coordinate system to meter offsets
@@ -36,12 +54,17 @@ const layer = new PointCloudLayer({
getColor: [255,255,255] getColor: [255,255,255]
}); });
overlay.setProps({layers: [layer]});
}
const overlay = new MapboxOverlay({
layers: [layer]
});
//map.addControl(overlay);
map.on('style.load', ()=>{
if (!map._controls.includes(overlay)) {
map.addControl(overlay);
}
updateLayer();
})
// Hintergrundkarte ändern // Hintergrundkarte ändern
@@ -170,10 +193,17 @@ function changeBaseMap(newMap){
// dargestellte Punktwolke verändern // dargestellte Punktwolke verändern
function changePointCloud(data){ function changePointCloud(value){
layer.data = data; currentData = pointCloudFiles[value];
updateLayer();
} }
document.querySelector('input[type="checkbox"]').addEventListener('change', (event)=>
{
isVisible=!event.target.checked;
updateLayer();
})
// ausgewähltes Element im BaseMap DropDown Feld // ausgewähltes Element im BaseMap DropDown Feld
const selectElement = document.querySelector('select[name="basemap"]'); const selectElement = document.querySelector('select[name="basemap"]');