UNPKG

@vuemap/vue-amap

Version:

高德地图vue3版本封装

1 lines 3.15 kB
{"version":3,"file":"Buildings.vue2.mjs","sources":["../../../../../../packages/layer/official/Buildings/Buildings.vue"],"sourcesContent":["<template>\r\n <div />\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {defineOptions} from 'vue';\r\nimport {useRegister} from \"../../../../mixins\";\r\nimport {buildProps} from \"../../../../utils\";\r\nimport type { PropType} from 'vue';\r\n\r\ndefineOptions({\r\n name: 'ElAmapLayerBuildings',\r\n inheritAttrs: false\r\n});\r\n\r\nconst props = defineProps(buildProps({\r\n wallColor: {\r\n type: [String, Array]\r\n }, // 楼块侧面颜色,支持 rgba、rgb、十六进制等\r\n roofColor: {\r\n type: [String, Array]\r\n }, // 楼块顶面颜色,支持 rgba、rgb、十六进制等\r\n heightFactor: {\r\n type: Number\r\n }, // 楼块的高度系数因子,默认为 1,也就是正常高度\r\n styleOpts: {\r\n type: Object as PropType<AMap.BuildingStyleOptions>\r\n }, // 楼块的围栏和样式设置\r\n zooms: {\r\n type: Array\r\n }, // 支持的缩放级别范围,默认范围 [2-30]\r\n opacity: {\r\n type: Number\r\n } // 透明度,默认 1\r\n}));\r\nconst emits = defineEmits(['init']);\r\n\r\nlet $amapComponent: AMap.Buildings;\r\n\r\nconst {$$getInstance, parentInstance} = useRegister<AMap.Buildings, AMap.Map>((options, parentComponent) => {\r\n return new Promise<AMap.Buildings>((resolve) => {\r\n $amapComponent = new AMap.Buildings(options);\r\n parentComponent.add($amapComponent);\r\n if(props.styleOpts){\r\n $amapComponent.setStyle(props.styleOpts);\r\n }\r\n resolve($amapComponent);\r\n });\r\n\r\n}, {\r\n emits,\r\n watchRedirectFn: {\r\n __styleOpts (value: any) {\r\n $amapComponent.setStyle(value);\r\n }\r\n },\r\n destroyComponent () {\r\n if ($amapComponent && parentInstance?.$amapComponent) {\r\n if(!parentInstance?.isDestroy){\r\n parentInstance?.$amapComponent.remove($amapComponent);\r\n }\r\n $amapComponent = null as any;\r\n }\r\n },\r\n});\r\n\r\ndefineExpose({\r\n $$getInstance\r\n});\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAoBd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAA,MAAM,EAAC,aAAe,EAAA,cAAA,KAAkB,WAAsC,CAAA,CAAC,SAAS,eAAoB,KAAA;AAC1G,MAAO,OAAA,IAAI,OAAwB,CAAA,CAAC,OAAY,KAAA;AAC9C,QAAiB,cAAA,GAAA,IAAI,IAAK,CAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAC3C,QAAA,eAAA,CAAgB,IAAI,cAAc,CAAA,CAAA;AAClC,QAAA,IAAG,MAAM,SAAU,EAAA;AACjB,UAAe,cAAA,CAAA,QAAA,CAAS,MAAM,SAAS,CAAA,CAAA;AAAA,SACzC;AACA,QAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,OACvB,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,YAAa,KAAY,EAAA;AACvB,UAAA,cAAA,CAAe,SAAS,KAAK,CAAA,CAAA;AAAA,SAC/B;AAAA,OACF;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,MAAO,CAAA,cAAA,CAAA,CAAA;AAAA,WACxC;AACA,UAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,SACnB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;"}