| |
| <!-- |
| 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'> |
| <script src='lib/simpleRequire.js'></script> |
| <script src='lib/config.js'></script> |
| <script src='lib/jquery.min.js'></script> |
| <script src='http://api.map.baidu.com/api?v=3.0&ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu'></script> |
| <meta name='viewport' content='width=device-width, initial-scale=1' /> |
| </head> |
| <body> |
| <style> |
| html, body, #main { |
| width: 100%; |
| height: 100%; |
| margin: 0; |
| } |
| #clear { |
| position: absolute; |
| left: 10px; |
| top: 10px; |
| } |
| #clear2 { |
| position: absolute; |
| left: 10px; |
| top: 40px; |
| } |
| </style> |
| <div id='main'></div> |
| <button id='clear'>Clear(`chart.setOption`)</button> |
| <button id='clear2'>Clear(`chart.clear`)</button> |
| <script> |
| |
| require([ |
| 'echarts', |
| 'data/lines-bus.json', |
| 'extension/bmap' |
| ], function (echarts, data) { |
| |
| var myChart = echarts.init(document.getElementById('main')); |
| |
| var hStep = 300 / (data.length - 1); |
| var busLines = data.map(function (busLine, idx) { |
| var prevPt; |
| var points = []; |
| for (var i = 0; i < busLine.length; i += 2) { |
| var pt = [busLine[i], busLine[i + 1]]; |
| if (i > 0) { |
| pt = [ |
| prevPt[0] + pt[0], |
| prevPt[1] + pt[1] |
| ]; |
| } |
| prevPt = pt; |
| |
| points.push([pt[0] / 1e4, pt[1] / 1e4]); |
| } |
| return { |
| coords: points, |
| lineStyle: { |
| normal: { |
| color: echarts.color.modifyHSL('#5A94DF', Math.round(hStep * idx)) |
| } |
| } |
| }; |
| }); |
| console.log(busLines.length); |
| // busLines = busLines.slice(0, 100); |
| |
| myChart.setOption({ |
| animation: false, |
| bmap: { |
| center: [116.46, 39.92], |
| zoom: 10, |
| roam: true, |
| mapStyle: { |
| 'styleJson': [ |
| { |
| 'featureType': 'water', |
| 'elementType': 'all', |
| 'stylers': { |
| 'color': '#031628' |
| } |
| }, |
| { |
| 'featureType': 'land', |
| 'elementType': 'geometry', |
| 'stylers': { |
| 'color': '#000102' |
| } |
| }, |
| { |
| 'featureType': 'highway', |
| 'elementType': 'all', |
| 'stylers': { |
| 'visibility': 'off' |
| } |
| }, |
| { |
| 'featureType': 'arterial', |
| 'elementType': 'geometry.fill', |
| 'stylers': { |
| 'color': '#000000' |
| } |
| }, |
| { |
| 'featureType': 'arterial', |
| 'elementType': 'geometry.stroke', |
| 'stylers': { |
| 'color': '#0b3d51' |
| } |
| }, |
| { |
| 'featureType': 'local', |
| 'elementType': 'geometry', |
| 'stylers': { |
| 'color': '#000000' |
| } |
| }, |
| { |
| 'featureType': 'railway', |
| 'elementType': 'geometry.fill', |
| 'stylers': { |
| 'color': '#000000' |
| } |
| }, |
| { |
| 'featureType': 'railway', |
| 'elementType': 'geometry.stroke', |
| 'stylers': { |
| 'color': '#08304b' |
| } |
| }, |
| { |
| 'featureType': 'subway', |
| 'elementType': 'geometry', |
| 'stylers': { |
| 'lightness': -70 |
| } |
| }, |
| { |
| 'featureType': 'building', |
| 'elementType': 'geometry.fill', |
| 'stylers': { |
| 'color': '#000000' |
| } |
| }, |
| { |
| 'featureType': 'all', |
| 'elementType': 'labels.text.fill', |
| 'stylers': { |
| 'color': '#857f7f' |
| } |
| }, |
| { |
| 'featureType': 'all', |
| 'elementType': 'labels.text.stroke', |
| 'stylers': { |
| 'color': '#000000' |
| } |
| }, |
| { |
| 'featureType': 'building', |
| 'elementType': 'geometry', |
| 'stylers': { |
| 'color': '#022338' |
| } |
| }, |
| { |
| 'featureType': 'green', |
| 'elementType': 'geometry', |
| 'stylers': { |
| 'color': '#062032' |
| } |
| }, |
| { |
| 'featureType': 'boundary', |
| 'elementType': 'all', |
| 'stylers': { |
| 'color': '#465b6c' |
| } |
| }, |
| { |
| 'featureType': 'manmade', |
| 'elementType': 'all', |
| 'stylers': { |
| 'color': '#022338' |
| } |
| }, |
| { |
| 'featureType': 'label', |
| 'elementType': 'all', |
| 'stylers': { |
| 'visibility': 'off' |
| } |
| } |
| ] |
| } |
| }, |
| series: [{ |
| type: 'lines', |
| coordinateSystem: 'bmap', |
| polyline: true, |
| data: busLines, |
| silent: true, |
| lineStyle: { |
| normal: { |
| // color: '#c23531', |
| // color: 'rgb(200, 35, 45)', |
| opacity: 0.2, |
| width: 1 |
| } |
| }, |
| progressiveThreshold: 500, |
| progressive: 200 |
| }, { |
| type: 'lines', |
| coordinateSystem: 'bmap', |
| polyline: true, |
| data: busLines, |
| lineStyle: { |
| normal: { |
| width: 0 |
| } |
| }, |
| effect: { |
| constantSpeed: 20, |
| show: true, |
| trailLength: 0.1, |
| symbolSize: 1.5 |
| }, |
| zlevel: 1 |
| }] |
| }); |
| |
| document.getElementById('clear').addEventListener('click', function() { |
| myChart.setOption({ |
| series: [{ |
| data: [] |
| }, { |
| data: [] |
| }] |
| }); |
| }); |
| document.getElementById('clear2').addEventListener('click', function() { |
| myChart.clear(); |
| }); |
| }); |
| </script> |
| </body> |
| </html> |