UNPKG

@vuemap/vue-amap

Version:

高德地图vue3版本封装

60 lines (57 loc) 1.74 kB
import { defineComponent, openBlock, createElementBlock } from 'vue'; import '../../../../mixins/index.mjs'; import { buildProps } from '../../../../utils/buildHelper.mjs'; import { useRegister } from '../../../../mixins/useRegister.mjs'; var script = /* @__PURE__ */ defineComponent({ ...{ name: "ElAmapLayerGlCustom", inheritAttrs: false }, __name: "GLCustom", props: buildProps({ init: { type: Function }, // 初始化的时候,开发者可以在这个函数参数里面获取 gl 上下文,进行一些初始化的操作。 render: { type: Function }, // 绘制函数,初始化完成时候,开发者需要给该图层设定render方法,该方法需要实现图层的绘制,API会在合适的时机自动调用该方法 zooms: { type: Array }, // 支持的缩放级别范围,默认范围 [2, 20] opacity: { type: Number } // 透明度,默认 1 }), emits: ["init"], setup(__props, { expose: __expose, emit: __emit }) { const emits = __emit; let $amapComponent; const { $$getInstance } = useRegister((options, parentComponent) => { return new Promise((resolve) => { $amapComponent = new AMap.GLCustomLayer(options); $amapComponent.setMap(parentComponent); resolve($amapComponent); }); }, { emits, destroyComponent() { if ($amapComponent) { $amapComponent.setMap(null); $amapComponent = null; } } }); __expose({ $$getInstance }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div"); }; } }); export { script as default }; //# sourceMappingURL=GLCustom.vue2.mjs.map