UNPKG

bytev-charts

Version:

基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;

94 lines (82 loc) 2.87 kB
import "core-js/modules/es.array.iterator.js"; import "core-js/modules/es.object.to-string.js"; import "core-js/modules/es.string.iterator.js"; import "core-js/modules/web.dom-collections.iterator.js"; import "core-js/modules/web.url.js"; import "core-js/modules/web.url-search-params.js"; import "core-js/modules/es.regexp.exec.js"; import "core-js/modules/es.string.split.js"; import _Object$assign from "@babel/runtime-corejs2/core-js/object/assign"; import _Object$create from "@babel/runtime-corejs2/core-js/object/create"; import { FileLoader, Group, Loader, LoadingManager } from "../../../build/three.module.js"; import { ColladaLoader } from "../loaders/ColladaLoader.js"; import { JSZip } from "../libs/jszip.module.min.js"; var KMZLoader = function KMZLoader(manager) { Loader.call(this, manager); }; KMZLoader.prototype = _Object$assign(_Object$create(Loader.prototype), { constructor: KMZLoader, load: function load(url, onLoad, onProgress, onError) { var scope = this; var loader = new FileLoader(scope.manager); loader.setPath(scope.path); loader.setResponseType('arraybuffer'); loader.setRequestHeader(scope.requestHeader); loader.load(url, function (text) { try { onLoad(scope.parse(text)); } catch (e) { if (onError) { onError(e); } else { console.error(e); } scope.manager.itemError(url); } }, onProgress, onError); }, parse: function parse(data) { function findFile(url) { for (var path in zip.files) { if (path.substr(-url.length) === url) { return zip.files[path]; } } } var manager = new LoadingManager(); manager.setURLModifier(function (url) { var image = findFile(url); if (image) { console.log('Loading', url); var blob = new Blob([image.asArrayBuffer()], { type: 'application/octet-stream' }); return URL.createObjectURL(blob); } return url; }); // var zip = new JSZip(data); if (zip.files['doc.kml']) { var xml = new DOMParser().parseFromString(zip.files['doc.kml'].asText(), 'application/xml'); var model = xml.querySelector('Placemark Model Link href'); if (model) { var loader = new ColladaLoader(manager); return loader.parse(zip.files[model.textContent].asText()); } } else { console.warn('KMZLoader: Missing doc.kml file.'); for (var path in zip.files) { var extension = path.split('.').pop().toLowerCase(); if (extension === 'dae') { var loader = new ColladaLoader(manager); return loader.parse(zip.files[path].asText()); } } } console.error('KMZLoader: Couldn\'t find .dae file.'); return { scene: new Group() }; } }); export { KMZLoader };