@vuemap/vue-amap
Version:
高德地图vue3版本封装
67 lines (64 loc) • 1.78 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: "ElAmapMassMarks",
inheritAttrs: false
},
__name: "MassMarks",
props: buildProps({
data: {
type: Array,
required: true
},
// 海量点数据参数
zooms: {
type: Array
},
// 点标记显示的层级范围,超过范围不显示。
cursor: {
type: String
},
// 指定鼠标悬停时的鼠,默认值:'pointer'
styles: {
type: [Array, Object]
}
// 样式
}),
emits: ["init", "update:center"],
setup(__props, { expose: __expose, emit: __emit }) {
const emits = __emit;
let $amapComponent;
const { $$getInstance, parentInstance } = useRegister((options, parentComponent) => {
return new Promise((resolve) => {
const data = options.data;
delete options.data;
$amapComponent = new AMap.MassMarks(data, options);
$amapComponent.setMap(parentComponent);
resolve($amapComponent);
});
}, {
emits,
propsRedirect: {
styles: "style"
},
destroyComponent() {
if ($amapComponent && (parentInstance == null ? void 0 : parentInstance.$amapComponent)) {
$amapComponent.clear();
$amapComponent.setMap(null);
$amapComponent = null;
}
}
});
__expose({
$$getInstance
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div");
};
}
});
export { script as default };
//# sourceMappingURL=MassMarks.vue2.mjs.map