blob: e64dd8facca9132a86e0f6997c66e1c9321734c2 [file] [log] [blame]
/*
title: Mapbox 视角切换
category: bar3D
titleCN: Mapbox 视角切换
*/
mapboxgl.accessToken = mapboxglToken;
$.getJSON(ROOT_PATH + '/data-gl/asset/data/population.json', function (data) {
data = data.filter(function (dataItem) {
return dataItem[2] > 0;
}).map(function (dataItem) {
return [dataItem[0], dataItem[1], dataItem[2]];
});
myChart.setOption({
title: {
text: '空格键切换视角',
left: 'center'
},
visualMap: {
show: false,
max: 1000,
calculable: true,
realtime: false,
inRange: {
color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
},
outOfRange: {
colorAlpha: 0
}
},
mapbox: {
center: [104.114129, 37.550339],
zoom: 3,
pitch: 50,
bearing: -10,
style: 'mapbox://styles/mapbox/light-v9',
boxHeight: 20,
// altitudeScale: 3e2,
postEffect: {
enable: true,
SSAO: {
enable: true,
radius: 2
}
},
light: {
main: {
intensity: 2,
shadow: true,
shadowQuality: 'high'
},
ambient: {
intensity: 0.
},
ambientCubemap: {
texture: ROOT_PATH + '/data-gl/asset/canyon.hdr',
exposure: 2,
diffuseIntensity: 0.5
}
}
},
series: [{
type: 'bar3D',
coordinateSystem: 'mapbox',
shading: 'lambert',
minHeight: 0.1,
barSize: 0.3,
data: data,
silent: true
}]
});
function top() {
myChart.setOption({
mapbox: {
pitch: 0,
bearing: 0,
boxHeight: 0
}
});
}
function perspective() {
myChart.setOption({
mapbox: {
pitch: 50,
bearing: -10,
boxHeight: 20,
}
});
}
var isPerspective = true;
window.addEventListener('keydown', function (e) {
if (e.keyCode === 32) {
isPerspective ? top() : perspective();
isPerspective = !isPerspective;
}
})
});