UNPKG

@vuemap/vue-amap

Version:

高德地图vue3版本封装

72 lines (67 loc) 1.96 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: "ElAmapLayerCustom", inheritAttrs: false }, __name: "Custom", props: buildHelper.buildProps({ canvas: { required: true, type: Object }, // canvas 对象 render: { type: Function }, // 绘制函数,初始化完成时候,开发者需要给该图层设定render方法,该方法需要实现图层的绘制,API会在合适的时机自动调用该方法 zooms: { type: Array }, // 支持的缩放级别范围,默认范围 [2, 20] opacity: { type: Number }, // 透明度,默认 1 alwaysRender: { type: Boolean, default: 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) => { const canvas = options.canvas; delete options.canvas; $amapComponent = new AMap.CustomLayer(canvas, options); $amapComponent.setMap(parentComponent); resolve($amapComponent); }); }, { emits, destroyComponent() { if ($amapComponent && (parentInstance == null ? void 0 : parentInstance.$amapComponent)) { $amapComponent.setMap(null); $amapComponent = null; } } }); __expose({ $$getInstance }); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div"); }; } }); exports.default = script; //# sourceMappingURL=Custom.vue2.js.map