@vuemap/vue-amap
Version:
高德地图vue3版本封装
1 lines • 4.14 kB
Source Map (JSON)
{"version":3,"file":"DistrictLayer.vue2.mjs","sources":["../../../../../../packages/layer/official/DistrictLayer/DistrictLayer.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/buildHelper\";\r\nimport type {PropType} from 'vue';\r\n\r\ndefineOptions({\r\n name: 'ElAmapLayerDistrict',\r\n inheritAttrs: false\r\n});\r\n\r\nconst props = defineProps(buildProps({\r\n type: {\r\n type: String as PropType<'World' | 'Country' | 'Province'>,\r\n default: 'Country',\r\n validator: (value : string): boolean => {\r\n // 这个值必须匹配下列字符串中的一个\r\n return ['World', 'Country', 'Province'].indexOf(value) !== -1;\r\n }\r\n },\r\n adcode: {\r\n type: String\r\n }, // 行政区的编码 adcode与省市行政区对照表,下载地址:https://a.amap.com/lbs/static/file/AMap_adcode_citycode.xlsx.zip\r\n SOC: {\r\n type: String\r\n }, // 设定显示的国家,对应下载地址: https://a.amap.com/jsapi_demos/static/demo-center/js/soc-list.json\r\n depth: {\r\n type: Number\r\n }, // 设定数据的层级深度,depth为0的时候只显示国家面,depth为1的时候显示省级, 当国家为中国时设置depth为2的可以显示市一级\r\n zooms: {\r\n type: Array\r\n }, // 支持的缩放级别范围,默认范围 [2-30]\r\n opacity: {\r\n type: Number\r\n }, // 透明度,默认 1\r\n styles: {\r\n type: Object\r\n }// 为简易行政区图设定各面的填充颜色和描边颜色。 styles各字段的值可以是颜色值,也可以是一个返回颜色值* 的回调函数function。\r\n}));\r\nconst emits = defineEmits(['init']);\r\n\r\nlet $amapComponent: any;\r\n\r\nconst {$$getInstance, parentInstance} = useRegister<any, AMap.Map>((options, parentComponent) => {\r\n return new Promise<any>((resolve) => {\r\n if (props.type === 'World') {\r\n $amapComponent = new AMap.DistrictLayer.World(options);\r\n } else if (props.type === 'Country') {\r\n $amapComponent = new AMap.DistrictLayer.Country(options);\r\n } else if (props.type === 'Province') {\r\n $amapComponent = new AMap.DistrictLayer.Province(options);\r\n }\r\n parentComponent.add($amapComponent);\r\n resolve($amapComponent);\r\n });\r\n\r\n}, {\r\n emits,\r\n watchRedirectFn: {\r\n __SOC (value: string){\r\n $amapComponent.setSOC(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;AA4Bd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAA,MAAM,EAAC,aAAe,EAAA,cAAA,KAAkB,WAA2B,CAAA,CAAC,SAAS,eAAoB,KAAA;AAC/F,MAAO,OAAA,IAAI,OAAa,CAAA,CAAC,OAAY,KAAA;AACnC,QAAI,IAAA,KAAA,CAAM,SAAS,OAAS,EAAA;AAC1B,UAAA,cAAA,GAAiB,IAAI,IAAA,CAAK,aAAc,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAAA,SACvD,MAAA,IAAW,KAAM,CAAA,IAAA,KAAS,SAAW,EAAA;AACnC,UAAA,cAAA,GAAiB,IAAI,IAAA,CAAK,aAAc,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AAAA,SACzD,MAAA,IAAW,KAAM,CAAA,IAAA,KAAS,UAAY,EAAA;AACpC,UAAA,cAAA,GAAiB,IAAI,IAAA,CAAK,aAAc,CAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAAA,SAC1D;AACA,QAAA,eAAA,CAAgB,IAAI,cAAc,CAAA,CAAA;AAClC,QAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,OACvB,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,MAAO,KAAc,EAAA;AACnB,UAAA,cAAA,CAAe,OAAO,KAAK,CAAA,CAAA;AAAA,SAC7B;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;;;;;;;;;"}