{"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;;;;;;;;;"}