import {open,openShp} from "shapefile" export default{ methods: { /** * @description: readShpByFile * @param {*} file * @param {*} callBackFunction * @author: renchao */ readShpByFile(file,callBackFunction){ var reader = new FileReader(); reader.readAsBinaryString(file); reader.οnlοad=function(){ var fileData = this.result ; //fileData就是读取到的文件的二进制数据 openShp(fileData).then(source => source.read() .then(function log(result) { if (result.done) return; if(callBackFunction && typeof callBackFunction == 'function'){ callBackFunction(result.value); } return source.read().then(log); })) .catch(error => console.error(error.stack)); } }, /** * @description: readShpByFile * @param {*} url * @param {*} callBackFunction * @author: renchao */ readShpByUrl(url,callBackFunction){ open(url).then(source => source.read() .then(function log(result) { if (result.done) return; if(callBackFunction && typeof callBackFunction == 'function'){ callBackFunction(result.value); } return source.read().then(log); })) .catch(error => console.error(error.stack)); } }, /** * @description: readShpByZip * @param {*} zipUrl * @param {*} callBackFunction * @author: renchao */ readShpByZip(zipUrl,callBackFunction){ } }