shpUtils.js 1.3 KB
import {open,openShp} from "shapefile"

export default{

    methods: {

        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));
            }
        },
        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));
         }
        },
        readShpByZip(zipUrl,callBackFunction){

        }

}