148 lines
5.0 KiB
HTML
Generated
148 lines
5.0 KiB
HTML
Generated
<!doctype html>
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Scatter</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 -->
|
|
</head>
|
|
<body>
|
|
<style>
|
|
html, body, #main {
|
|
background: #111;
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0;
|
|
}
|
|
</style>
|
|
<div id="main"></div>
|
|
<div id="data-count">
|
|
<span>LOADED: </span>
|
|
<span id="data-count-number"></span>
|
|
</div>
|
|
<style>
|
|
#data-count {
|
|
font-size: 30px;
|
|
color: #fff;
|
|
position: absolute;
|
|
z-index: 1000;
|
|
left: 10px;
|
|
bottom: 10px;
|
|
}
|
|
#data-count-number {
|
|
font-size: 80px;
|
|
}
|
|
</style>
|
|
<script src="../dist/echarts.js"></script>
|
|
<script src="./data/map/js/world.js"></script>
|
|
<script src="lib/jquery.min.js"></script>
|
|
<script src="lib/countup.js"></script>
|
|
<script>
|
|
var chart = echarts.init(document.getElementById('main'));
|
|
|
|
var dataCount = 0;
|
|
var CHUNK_COUNT = 200;
|
|
// var CHUNK_COUNT = 20;
|
|
// https://blog.openstreetmap.org/2012/04/01/bulk-gps-point-data/
|
|
function fetchData(idx) {
|
|
if (idx >= CHUNK_COUNT) {
|
|
return;
|
|
}
|
|
// var dataURL = `../../echarts-gl/test/data/gps/gps_${idx}.bin`;
|
|
// var dataURL = `../../data-online/gps/gps_${idx}.bin`;
|
|
var dataURL = `../../echarts-examples/public/data/asset/data/gps2/gps_${idx}.bin`;
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('GET', dataURL, true);
|
|
xhr.responseType = 'arraybuffer';
|
|
|
|
xhr.onload = function (e) {
|
|
var rawData = new Int32Array(this.response);
|
|
var data = new Float32Array(rawData.length);
|
|
var addedDataCount = rawData.length / 2;
|
|
for (var i = 0; i < rawData.length; i += 2) {
|
|
data[i] = rawData[i+1] / 1e7;
|
|
data[i+1] = rawData[i] / 1e7;
|
|
}
|
|
|
|
chart.appendData({
|
|
seriesIndex: 0,
|
|
data: data
|
|
});
|
|
|
|
var countUp = new CountUp('data-count-number', dataCount, dataCount + addedDataCount, 0, 1);
|
|
countUp.start();
|
|
dataCount += addedDataCount;
|
|
|
|
fetchData(idx + 1);
|
|
}
|
|
|
|
xhr.send();
|
|
}
|
|
|
|
chart.setOption({
|
|
backgroundColor: '#000',
|
|
geo: {
|
|
map: 'world',
|
|
roam: true,
|
|
label: {
|
|
emphasis: {
|
|
show: false
|
|
}
|
|
},
|
|
silent: true,
|
|
itemStyle: {
|
|
normal: {
|
|
areaColor: '#323c48',
|
|
borderColor: '#111'
|
|
},
|
|
emphasis: {
|
|
areaColor: '#2a333d'
|
|
}
|
|
}
|
|
},
|
|
series: [{
|
|
name: '弱',
|
|
type: 'scatter',
|
|
progressive: 1e5,
|
|
coordinateSystem: 'geo',
|
|
symbolSize: 0.5,
|
|
blendMode: 'lighter',
|
|
large: true,
|
|
itemStyle: {
|
|
normal: {
|
|
color: 'rgb(20, 15, 2)'
|
|
}
|
|
},
|
|
postEffect: {
|
|
enable: true
|
|
},
|
|
silent: true,
|
|
dimensions: ['lng', 'lat'],
|
|
data: new Float32Array()
|
|
}]
|
|
});
|
|
|
|
fetchData(0);
|
|
</script>
|
|
</body>
|
|
</html> |