@vuemap/vue-amap-extra
Version:
@vuemap/vue-amap扩展库,包含threejs相关图层
153 lines (148 loc) • 3.47 kB
JavaScript
;
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