UNPKG

@vuemap/vue-amap

Version:

高德地图vue3版本封装

1 lines 3.47 kB
{"version":3,"file":"Labels.vue2.mjs","sources":["../../../../../../packages/layer/data/Labels/Labels.vue"],"sourcesContent":["<template>\r\n <div><slot /></div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {defineOptions, provide} from 'vue';\r\nimport { provideKey, useRegister} from \"../../../../mixins\";\r\nimport {buildProps} from \"../../../../utils/buildHelper\";\r\nimport type {IProvideType, TRegisterFn} from \"../../../../mixins\";\r\n\r\ndefineOptions({\r\n name: 'ElAmapLayerLabels',\r\n inheritAttrs: false\r\n});\r\n\r\nconst needInitComponents: TRegisterFn[] = [];\r\nconst provideData:IProvideType = {\r\n $amapComponent: undefined,\r\n addChildComponent (cb){\r\n needInitComponents.push(cb);\r\n },\r\n isDestroy: false\r\n};\r\n\r\nprovide(provideKey, provideData);\r\n\r\ndefineProps(buildProps({\r\n zooms: {\r\n type: Array\r\n }, // 支持的缩放级别范围,默认范围 [2-30]\r\n opacity: {\r\n type: Number\r\n }, // 透明度,默认 1\r\n collision: {\r\n type: Boolean,\r\n default: true\r\n }, // 标注层内的标注是否避让\r\n allowCollision: {\r\n type: Boolean,\r\n default: false\r\n }// 标注层内的标注是否允许其它标注层对它避让\r\n}));\r\nconst emits = defineEmits(['init']);\r\n\r\nlet $amapComponent: AMap.LabelsLayer;\r\n\r\nconst {$$getInstance, parentInstance} = useRegister<AMap.LabelsLayer, AMap.Map>((options, parentComponent) => {\r\n return new Promise<AMap.LabelsLayer>((resolve) => {\r\n $amapComponent = new AMap.LabelsLayer(options);\r\n parentComponent.add($amapComponent);\r\n provideData.$amapComponent = $amapComponent;\r\n resolve($amapComponent);\r\n });\r\n\r\n}, {\r\n emits,\r\n needInitComponents,\r\n provideData,\r\n destroyComponent () {\r\n if ($amapComponent && parentInstance?.$amapComponent) {\r\n if(!parentInstance?.isDestroy){\r\n parentInstance?.$amapComponent.removeLayer($amapComponent);\r\n }\r\n $amapComponent = null as any;\r\n }\r\n },\r\n});\r\n\r\nconst $$add = (markers: AMap.LabelMarker | AMap.LabelMarker[]) => {\r\n $amapComponent.add(markers);\r\n};\r\n\r\ndefineExpose({\r\n $$getInstance,\r\n $$add\r\n});\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAA,MAAM,qBAAoC,EAAC,CAAA;AAC3C,IAAA,MAAM,WAA2B,GAAA;AAAA,MAC/B,cAAgB,EAAA,KAAA,CAAA;AAAA,MAChB,kBAAmB,EAAG,EAAA;AACpB,QAAA,kBAAA,CAAmB,KAAK,EAAE,CAAA,CAAA;AAAA,OAC5B;AAAA,MACA,SAAW,EAAA,KAAA;AAAA,KACb,CAAA;AAEA,IAAA,OAAA,CAAQ,YAAY,WAAW,CAAA,CAAA;AAkB/B,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAA,MAAM,EAAC,aAAe,EAAA,cAAA,KAAkB,WAAwC,CAAA,CAAC,SAAS,eAAoB,KAAA;AAC5G,MAAO,OAAA,IAAI,OAA0B,CAAA,CAAC,OAAY,KAAA;AAChD,QAAiB,cAAA,GAAA,IAAI,IAAK,CAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AAC7C,QAAA,eAAA,CAAgB,IAAI,cAAc,CAAA,CAAA;AAClC,QAAA,WAAA,CAAY,cAAiB,GAAA,cAAA,CAAA;AAC7B,QAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,OACvB,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAoB,GAAA;AAClB,QAAI,IAAA,cAAA,KAAkB,iDAAgB,cAAgB,CAAA,EAAA;AACpD,UAAG,IAAA,EAAC,iDAAgB,SAAU,CAAA,EAAA;AAC5B,YAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB,eAAe,WAAY,CAAA,cAAA,CAAA,CAAA;AAAA,WAC7C;AACA,UAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,SACnB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,KAAA,GAAQ,CAAC,OAAmD,KAAA;AAChE,MAAA,cAAA,CAAe,IAAI,OAAO,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;"}