UNPKG

@vuemap/vue-amap

Version:

高德地图vue3版本封装

86 lines (81 loc) 2.39 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../../mixins/index.js'); var buildHelper = require('../../../../utils/buildHelper.js'); var useRegister = require('../../../../mixins/useRegister.js'); var script = /* @__PURE__ */ vue.defineComponent({ ...{ name: "ElAmapLayerLabels", inheritAttrs: false }, __name: "Labels", props: buildHelper.buildProps({ zooms: { type: Array }, // 支持的缩放级别范围,默认范围 [2-30] opacity: { type: Number }, // 透明度,默认 1 collision: { type: Boolean, default: true }, // 标注层内的标注是否避让 allowCollision: { 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(useRegister.provideKey, provideData); const emits = __emit; let $amapComponent; const { $$getInstance, parentInstance } = useRegister.useRegister((options, parentComponent) => { return new Promise((resolve) => { $amapComponent = new AMap.LabelsLayer(options); parentComponent.add($amapComponent); provideData.$amapComponent = $amapComponent; resolve($amapComponent); }); }, { emits, needInitComponents, provideData, destroyComponent() { if ($amapComponent && (parentInstance == null ? void 0 : parentInstance.$amapComponent)) { if (!(parentInstance == null ? void 0 : parentInstance.isDestroy)) { parentInstance == null ? void 0 : parentInstance.$amapComponent.removeLayer($amapComponent); } $amapComponent = null; } } }); const $$add = (markers) => { $amapComponent.add(markers); }; __expose({ $$getInstance, $$add }); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", null, [ vue.renderSlot(_ctx.$slots, "default") ]); }; } }); exports.default = script; //# sourceMappingURL=Labels.vue2.js.map