| <!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> |