{"version":3,"sources":["jsdelivr-header.js","/npm/mapbox-fly-line@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,UCNY,OAAQ,0BAEL,MAAM,OACnB,WAAA,CAAY,EAAK,EAAO,IACtB,KAAK,KAAO,EAEZ,KAAK,MAAQ,IAAI,GAAG,MAAM,CACxB,GAAI,SACJ,aAAa,EACb,IAAK,IAAI,GAAG,OAAO,CACjB,YAAa,MAIjB,KAAK,UAAY,KAEjB,MAAM,EAAU,KAAK,aAErB,KAAK,OAAO,EACd,CAEA,OAAA,CAAQ,GACN,KAAK,KAAO,EAEZ,MAAM,EAAU,KAAK,aAErB,KAAK,OAAO,EACd,CAEA,UAAA,GACE,MAAM,EAAW,GAWjB,OATA,KAAK,KAAK,SAAQ,IAChB,MAAM,EAAO,KAAK,MAAM,EAAE,MAE1B,EAAS,KAAK,CACZ,KAAM,UACN,SAAU,GACX,IAGI,CACL,KAAM,oBACN,WAEJ,CAEA,MAAA,CAAO,GACL,IAAK,KAAK,UAkBR,OAjBA,KAAK,UAAY,IAAI,GAAG,UAAU,CAAE,KAAM,gBACvC,OAAO,GACP,MAAM,SACN,KAAK,IACL,QAAO,GACP,QAAQ,CACP,SAAU,GACV,YAAa,EACb,SAAU,IAEX,MAAM,CACL,QAAS,GACT,YAAa,UACb,YAAa,iBAGjB,KAAK,MAAM,SAAS,KAAK,WAI3B,KAAK,UAAU,QAAQ,EACzB,CAEA,OAAA,GACM,KAAK,YACP,KAAK,MAAM,YAAY,KAAK,WAC5B,KAAK,MAAM,iBAEX,KAAK,UAAY,KAErB","file":"/npm/mapbox-fly-line@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/mapbox-fly-line@1.0.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import * as L7 from '@antv/l7'\r\n\r\nexport default class MapFly {\r\n  constructor(map, data = []) {\r\n    this.data = data\r\n\r\n    this.scene = new L7.Scene({\r\n      id: 'mapbox',\r\n      logoVisible: false,\r\n      map: new L7.Mapbox({\r\n        mapInstance: map\r\n      })\r\n    })\r\n\r\n    this.lineLayer = null\r\n\r\n    const geojson = this.fixGeoJSON()\r\n\r\n    this.render(geojson)\r\n  }\r\n\r\n  setData(data) {\r\n    this.data = data\r\n\r\n    const geojson = this.fixGeoJSON()\r\n\r\n    this.render(geojson)\r\n  }\r\n\r\n  fixGeoJSON() {\r\n    const features = []\r\n\r\n    this.data.forEach(d => {\r\n      const json = JSON.parse(d.geom)\r\n\r\n      features.push({\r\n        type: 'feature',\r\n        geometry: json\r\n      })\r\n    })\r\n\r\n    return {\r\n      type: 'FeatureCollection',\r\n      features\r\n    }\r\n  }\r\n\r\n  render(geojson) {\r\n    if (!this.lineLayer) {\r\n      this.lineLayer = new L7.LineLayer({ name: 'effect-line' })\r\n        .source(geojson)\r\n        .shape('arc3d')\r\n        .size(0.5)\r\n        .active(false)\r\n        .animate({\r\n          interval: 0.5,\r\n          trailLength: 1,\r\n          duration: 2\r\n        })\r\n        .style({\r\n          opacity: 0.7,\r\n          sourceColor: '#01FE89',\r\n          targetColor: '#FFE600'\r\n        });\r\n\r\n      this.scene.addLayer(this.lineLayer);\r\n      return\r\n    }\r\n\r\n    this.lineLayer.setData(geojson)\r\n  }\r\n\r\n  destory() {\r\n    if (this.lineLayer) {\r\n      this.scene.removeLayer(this.lineLayer)\r\n      this.scene.removeAllLayer();\r\n\r\n      this.lineLayer = null\r\n    }\r\n  }\r\n}"]}