{"version":3,"file":"Tiles3D.vue2.mjs","sources":["../../../../../../packages/layer/data/Tiles3D/Tiles3D.vue"],"sourcesContent":["<template>\r\n  <div />\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {defineOptions} from 'vue';\r\nimport {useRegister} from \"../../../../mixins\";\r\nimport {buildProps} from \"../../../../utils/buildHelper\";\r\nimport {loadScript} from \"../../../../utils\";\r\n\r\ndefineOptions({\r\n  name: 'ElAmapLayerTiles3d',\r\n  inheritAttrs: false\r\n});\r\n\r\ndefineProps(buildProps({\r\n  url: {\r\n    type: String,\r\n    required: true\r\n  },\r\n  threeScriptUrl: {\r\n    type: String,\r\n    default: '//a.amap.com/jsapi_demos/static/data3d/lib/three.117.js'\r\n  },\r\n  threeGltfLoader: {\r\n    type: String,\r\n    default: '//a.amap.com/jsapi_demos/static/data3d/lib/GLTFLoader.117.min.js'\r\n  },\r\n  layerStyle: {\r\n    type: Object\r\n  }\r\n}));\r\nconst emits = defineEmits(['init']);\r\n\r\nlet $amapComponent: any;\r\n\r\nconst {$$getInstance, parentInstance} = useRegister<any, AMap.Map>((options, parentComponent) => {\r\n  return new Promise<any>((resolve) => {\r\n    parentComponent.plugin(['AMap.3DTilesLayer'], () => {\r\n      if(!window['THREE']){\r\n        loadScript(options.threeScriptUrl, () => {\r\n          loadScript(options.threeGltfLoader, () => {\r\n            createLayer(options);\r\n            resolve($amapComponent);\r\n          });\r\n        });\r\n      }else{\r\n        createLayer(options);\r\n        resolve($amapComponent);\r\n      }\r\n    });\r\n  });\r\n\r\n}, {\r\n  emits,\r\n  destroyComponent () {\r\n    if ($amapComponent) {\r\n      $amapComponent = null as any;\r\n    }\r\n  },\r\n});\r\n\r\nconst createLayer = (options: any) => {\r\n  let layerStyle: any = {};\r\n  if(options.layerStyle){\r\n    layerStyle = JSON.parse(JSON.stringify(options.layerStyle));\r\n  }\r\n  $amapComponent = new AMap['3DTilesLayer']({\r\n    map: parentInstance?.$amapComponent,\r\n    url: options.url, // 3d Tiles 入口文件\r\n    style: layerStyle\r\n  });\r\n};\r\n\r\ndefineExpose({\r\n  $$getInstance\r\n});\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAA,MAAM,EAAC,aAAe,EAAA,cAAA,KAAkB,WAA2B,CAAA,CAAC,SAAS,eAAoB,KAAA;AAC/F,MAAO,OAAA,IAAI,OAAa,CAAA,CAAC,OAAY,KAAA;AACnC,QAAA,eAAA,CAAgB,MAAO,CAAA,CAAC,mBAAmB,CAAA,EAAG,MAAM;AAClD,UAAG,IAAA,CAAC,MAAO,CAAA,OAAO,CAAE,EAAA;AAClB,YAAW,UAAA,CAAA,OAAA,CAAQ,gBAAgB,MAAM;AACvC,cAAW,UAAA,CAAA,OAAA,CAAQ,iBAAiB,MAAM;AACxC,gBAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AACnB,gBAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,eACvB,CAAA,CAAA;AAAA,aACF,CAAA,CAAA;AAAA,WACE,MAAA;AACH,YAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AACnB,YAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,WACxB;AAAA,SACD,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,gBAAoB,GAAA;AAClB,QAAA,IAAI,cAAgB,EAAA;AAClB,UAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,SACnB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,CAAC,OAAiB,KAAA;AACpC,MAAA,IAAI,aAAkB,EAAC,CAAA;AACvB,MAAA,IAAG,QAAQ,UAAW,EAAA;AACpB,QAAA,UAAA,GAAa,KAAK,KAAM,CAAA,IAAA,CAAK,SAAU,CAAA,OAAA,CAAQ,UAAU,CAAC,CAAA,CAAA;AAAA,OAC5D;AACA,MAAiB,cAAA,GAAA,IAAI,IAAK,CAAA,cAAc,CAAE,CAAA;AAAA,QACxC,KAAK,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,cAAA;AAAA,QACrB,KAAK,OAAQ,CAAA,GAAA;AAAA;AAAA,QACb,KAAO,EAAA,UAAA;AAAA,OACR,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;"}