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