@vuemap/vue-amap
Version:
高德地图vue3版本封装
60 lines (57 loc) • 1.74 kB
JavaScript
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