Blame view

src/utils/map/shpUtils.js 1.7 KB
任超 committed
1 2 3 4 5 6
import {open,openShp} from "shapefile"

export default{

    methods: {

yuanbo committed
7 8 9 10 11 12
      /**
       * @description: readShpByFile
       * @param {*} file
       * @param {*} callBackFunction
       * @author: renchao
       */
任超 committed
13
        readShpByFile(file,callBackFunction){
yuanbo committed
14
            var reader = new FileReader();
任超 committed
15 16 17 18 19 20 21 22 23 24 25 26 27 28
            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));
            }
        },
yuanbo committed
29 30 31 32 33 34
      /**
       * @description: readShpByFile
       * @param {*} url
       * @param {*} callBackFunction
       * @author: renchao
       */
任超 committed
35 36 37 38 39 40 41 42 43 44 45 46
        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));
         }
        },
yuanbo committed
47 48 49 50 51 52
  /**
   * @description: readShpByZip
   * @param {*} zipUrl
   * @param {*} callBackFunction
   * @author: renchao
   */
任超 committed
53 54 55 56
        readShpByZip(zipUrl,callBackFunction){

        }

yuanbo committed
57
}