UNPKG

@vuemap/vue-amap

Version:

高德地图vue3版本封装

83 lines (78 loc) 2.4 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../../mixins/index.js'); var buildHelper = require('../../../../utils/buildHelper.js'); require('../../../../utils/index.js'); var useRegister = require('../../../../mixins/useRegister.js'); var util = require('../../../../utils/util.js'); var script = /* @__PURE__ */ vue.defineComponent({ ...{ name: "ElAmapLayerIndoorMap", inheritAttrs: false }, __name: "IndoorMap", props: buildHelper.buildProps({ opacity: { type: Number }, // 透明度,默认 1 cursor: { type: String }, // 指定鼠标悬停到店铺面时的鼠标样式 hideFloorBar: { type: Boolean, default: false } // 是否隐藏楼层切换控件,默认值:false }), emits: ["init"], setup(__props, { expose: __expose, emit: __emit }) { const emits = __emit; let $amapComponent; const { $$getInstance, parentInstance } = useRegister.useRegister((options, parentComponent) => { return new Promise((resolve) => { AMap.plugin(["AMap.IndoorMap"], () => { $amapComponent = new AMap.IndoorMap(options); const layers = parentComponent.getLayers(); layers.push($amapComponent); parentComponent.setLayers(layers); resolve($amapComponent); }); }); }, { emits, watchRedirectFn: { __hideFloorBar(flag) { !flag ? $amapComponent.hideFloorBar() : $amapComponent.showFloorBar(); } }, destroyComponent() { if ($amapComponent && (parentInstance == null ? void 0 : parentInstance.$amapComponent)) { const layers = parentInstance.$amapComponent.getLayers(); let index = -1; for (let i = 0; i < layers.length; i++) { if (util.isIndoorMapInstance(layers[i])) { index = i; break; } } if (index > -1) { layers.splice(index, 1); parentInstance.$amapComponent.setLayers(layers); } $amapComponent = null; } } }); __expose({ $$getInstance }); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div"); }; } }); exports.default = script; //# sourceMappingURL=IndoorMap.vue2.js.map