2018-11-08 20:56:17 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
|
|
<meta name="geometry" content="diagram">
|
|
|
|
<link rel="stylesheet" href="./assets/common.css">
|
2018-11-19 10:45:40 +08:00
|
|
|
<title>city demo</title>
|
2018-11-08 20:56:17 +08:00
|
|
|
<style>
|
|
|
|
#map { position:absolute; top:0; bottom:0; width:100%; }
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
2018-11-16 16:52:25 +08:00
|
|
|
<div id = 'gui' style="position:absolute;top:0px;right:0px;z-index:2;"></div>
|
2018-11-08 20:56:17 +08:00
|
|
|
<div id="map"></div>
|
|
|
|
<script src="https://webapi.amap.com/maps?v=1.4.8&key=15cd8a57710d40c9b7c0e3cc120f1200&plugin=Map3D"></script>
|
|
|
|
<script src="./assets/jquery-3.2.1.min.js"></script>
|
|
|
|
<script src="./assets/dat.gui.min.js"></script>
|
|
|
|
<script src="../build/L7.js"></script>
|
|
|
|
<script>
|
2018-11-16 16:52:25 +08:00
|
|
|
const gui = new dat.GUI({ autoPlace: false });
|
|
|
|
const customContainer = document.getElementById('gui');
|
|
|
|
customContainer.appendChild(gui.domElement);
|
|
|
|
var palette = {
|
|
|
|
baseColor: '#3CB4F0', // CSS string
|
|
|
|
windowColor: '#65CEF7', // RGB array
|
|
|
|
brightColor: '#98E3FA', // RGB with alpha
|
|
|
|
};
|
|
|
|
gui.addColor(palette, 'baseColor').onChange(()=>{
|
|
|
|
changeStyle();
|
|
|
|
});
|
|
|
|
gui.addColor(palette, 'windowColor').onChange(()=>{
|
|
|
|
changeStyle();
|
|
|
|
});
|
|
|
|
gui.addColor(palette, 'brightColor').onChange(()=>{
|
|
|
|
changeStyle();
|
|
|
|
});
|
|
|
|
var buildLayer =null;
|
2018-11-08 20:56:17 +08:00
|
|
|
const scene = new L7.Scene({
|
|
|
|
id: 'map',
|
|
|
|
mapStyle: 'dark', // 样式URL
|
2018-11-19 10:45:40 +08:00
|
|
|
center: [ 121.507674, 31.223043 ],
|
|
|
|
pitch: 65.59312320916906,
|
|
|
|
zoom: 16.4,
|
|
|
|
minZoom: 15,
|
|
|
|
maxZoom: 18
|
2018-11-08 20:56:17 +08:00
|
|
|
});
|
|
|
|
scene.on('loaded', () => {
|
2018-11-19 10:45:40 +08:00
|
|
|
$.get('./data/road.json', data => {
|
2018-11-08 20:56:17 +08:00
|
|
|
scene.LineLayer({
|
|
|
|
zIndex: 2
|
|
|
|
})
|
2018-11-19 10:45:40 +08:00
|
|
|
.source(data)
|
2018-11-08 20:56:17 +08:00
|
|
|
.color('#F08D41')
|
|
|
|
.animate({enable:true})
|
|
|
|
.render();
|
|
|
|
});
|
|
|
|
$.get('./data/2.geojson', data => {
|
2018-11-16 16:52:25 +08:00
|
|
|
buildLayer = scene.PolygonLayer({
|
2018-11-08 20:56:17 +08:00
|
|
|
zIndex: 2
|
|
|
|
})
|
|
|
|
.source(data)
|
|
|
|
.shape('extrude')
|
2018-11-16 16:52:25 +08:00
|
|
|
.size('floor',[0,2000])
|
2018-11-19 10:45:40 +08:00
|
|
|
.color('rgba(242,246,250,1.0)')
|
2018-11-08 20:56:17 +08:00
|
|
|
.animate({enable:true})
|
2018-11-16 16:52:25 +08:00
|
|
|
.style({
|
2018-11-19 10:45:40 +08:00
|
|
|
opacity:1.0,
|
2018-11-20 19:38:23 +08:00
|
|
|
baseColor:'rgb(16,16,16)',
|
2018-11-19 10:45:40 +08:00
|
|
|
windowColor:'rgb(30,60,89)',
|
|
|
|
brightColor:'rgb(155,217,255)',
|
2018-11-16 16:52:25 +08:00
|
|
|
|
|
|
|
})
|
2018-11-08 20:56:17 +08:00
|
|
|
.render();
|
2018-11-16 16:52:25 +08:00
|
|
|
|
|
|
|
|
2018-11-08 20:56:17 +08:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2018-11-16 16:52:25 +08:00
|
|
|
function changeStyle(e){
|
|
|
|
buildLayer.style({
|
|
|
|
opacity:0.8,
|
|
|
|
baseColor:palette.baseColor,
|
|
|
|
windowColor:palette.windowColor,
|
|
|
|
brightColor:palette.brightColor,
|
|
|
|
}
|
|
|
|
).render();
|
|
|
|
}
|
2018-11-08 20:56:17 +08:00
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|