blob: 80b85712527244c2f0018833cbf1b6e2e8b68808 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Geo3D - ECHARTS-GL</title>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes"> <!-- Fullscreen Landscape on iOS -->
<link rel="stylesheet" href="../common/reset.css">
</head>
<body>
<div id="main"></div>
<script src="../common/echarts.min.js"></script>
<script src="../common/jquery.min.js"></script>
<script src="../common/echarts-gl.js"></script>
<script src="../data/buildings.json.js"></script>
<script src="../common/dat.gui.js"></script>
<script src="../texture/canyon.hdr.js"></script>
<script>
var chart = echarts.init(document.getElementById('main'));
echarts.registerMap('buildings', buildingsGeoJSON);
var regions = buildingsGeoJSON.features.map(function (feature) {
return {
name: feature.properties.name,
value: Math.random(),
height: Math.max(Math.sqrt(feature.properties.height), 0.1)
};
});
chart.setOption({
series: [{
type: 'map3D',
map: 'buildings',
shading: 'hatching',
environment: '#fff',
hatchingMaterial: {
hatchingTextures: [
'../texture/tam/hatch_0.jpg',
'../texture/tam/hatch_1.jpg',
'../texture/tam/hatch_2.jpg',
'../texture/tam/hatch_3.jpg',
'../texture/tam/hatch_4.jpg',
'../texture/tam/hatch_5.jpg'
],
textureTiling: [80, 40]
},
postEffect: {
enable: true,
SSAO: {
enable: true,
radius: 8,
intensity: 1.2
},
edge: {
enable: true
}
},
groundPlane: {
show: false
},
light: {
main: {
intensity: 1,
shadow: true,
shadowQuality: 'high',
alpha: 30
},
ambient: {
intensity: 0
},
ambientCubemap: {
texture: '../texture/canyon.hdr',
exposure: 0,
diffuseIntensity: 0.1
}
},
viewControl: {
alpha: 80,
distance: 100,
minBeta: -Infinity,
maxBeta: Infinity
},
itemStyle: {
areaColor: '#000'
},
silent: true,
instancing: true,
boxWidth: 200,
boxHeight: 1,
data: regions
}]
});
var config = {
color: '#000'
};
var gui = new dat.GUI();
gui.addColor(config, 'color').onFinishChange(function () {
chart.setOption({
series: [{
itemStyle: {
areaColor: config.color
},
postEffect: {
edge: {
color: config.color
}
}
}]
});
});
window.addEventListener('resize', function () {
chart.resize();
});
</script>
</body>
</html>