main.js aktualisiert
Renderer in Map Libre Code und Kameras synchronisiert
This commit is contained in:
44
main.js
44
main.js
@@ -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"]');
|
||||||
|
|||||||
Reference in New Issue
Block a user