UNPKG

@vuemap/vue-amap-extra

Version:

@vuemap/vue-amap扩展库,包含threejs相关图层

153 lines (148 loc) 3.47 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var vueAmap = require('@vuemap/vue-amap'); var CustomThreeLayer = require('./CustomThreeLayer.js'); var script = /* @__PURE__ */ vue.defineComponent({ ...{ name: "ElAmapLayerThree", inheritAttrs: false }, __name: "ThreeLayer", props: vueAmap.buildProps({ lights: { type: Array, default() { return []; } }, // 灯光数组 hdr: { type: Object }, zooms: { type: Array, default() { return [2, 20]; } }, // 支持的缩放级别范围,默认范围 [2, 20] opacity: { type: Number }, // 透明度,默认 1 alpha: { type: Boolean, default: true }, // canvas是否包含alpha (透明度)。默认为 false antialias: { type: Boolean, default: false }, // 是否执行抗锯齿。默认为false customCoordsCenter: { type: Array, default() { return null; } }, axesHelper: { type: Boolean, default: false }, createCanvas: { type: Boolean, default: false }, webGLRendererParameters: { type: Object, default() { return void 0; } }, createCssRender: { type: Boolean, default: false } }), emits: ["init"], setup(__props, { expose: __expose, emit: __emit }) { const needInitComponents = []; const provideData = { $amapComponent: void 0, addChildComponent(cb) { needInitComponents.push(cb); }, isDestroy: false }; vue.provide(vueAmap.provideKey, provideData); const emits = __emit; let $amapComponent; const { $$getInstance, parentInstance } = vueAmap.useRegister( (options, parentComponent) => { return new Promise((resolve) => { $amapComponent = new CustomThreeLayer.default(parentComponent, options, () => { provideData.$amapComponent = $amapComponent; resolve($amapComponent); }); }); }, { emits, provideData, needInitComponents, destroyComponent() { if ($amapComponent) { $amapComponent.destroy(); $amapComponent = null; } } } ); const convertLngLat = (lnglat) => { return $amapComponent.convertLngLat(lnglat); }; const addObject = (object) => { $amapComponent.add(object); }; const removeObject = (object) => { $amapComponent.remove(object); }; const addEnvMap = (obj) => { $amapComponent.addEnvMap(obj); }; const $$getScene = () => { return $amapComponent.getScene(); }; const $$getRender = () => { return $amapComponent.getRender(); }; const $$refresh = () => { $amapComponent.refreshMap(); }; const $$addPass = (pass) => { $amapComponent.addPass(pass); }; const $$removePass = (pass) => { $amapComponent.removePass(pass); }; __expose({ $$getInstance, convertLngLat, addObject, removeObject, addEnvMap, $$getScene, $$getRender, $$refresh, $$addPass, $$removePass }); return (_ctx, _cache) => { return vue.renderSlot(_ctx.$slots, "default"); }; } }); exports.default = script; //# sourceMappingURL=ThreeLayer.vue2.js.map