{"version":3,"file":"MarkerCluster.vue2.mjs","sources":["../../../../../packages/marker/MarkerCluster/MarkerCluster.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: 'ElAmapMarkerCluster',\r\n  inheritAttrs: false\r\n});\r\n\r\ndefineProps(buildProps({\r\n  points: {\r\n    type: Object as PropType<AMap.MarkerClusterData>,\r\n    required: true\r\n  }, // 需要进行聚合显示的点数据\r\n  gridSize: {\r\n    type: Number\r\n  }, // 聚合计算时网格的像素大小，默认60\r\n  maxZoom: {\r\n    type: Number\r\n  }, // 最大的聚合级别，大于该级别就不进行相应的聚合。默认值为 18，即小于 18 级的级别均进行聚合，18 及以上级别不进行聚合\r\n  averageCenter: {\r\n    type: Boolean,\r\n    default: true\r\n  }, // 聚合点的图标位置是否是所有聚合内点的中心点。默认为 true。数据中如果含有权重值，以权重高的点为中心进行聚合\r\n  clusterByZoomChange: {\r\n    type: Boolean,\r\n    default: false\r\n  }, // 地图缩放过程中是否聚合。默认值 false。\r\n  styles: {\r\n    type: Array\r\n  }, // 指定聚合后的点标记的图标样式，可缺省，缺省时为默认样式\r\n  renderClusterMarker: {\r\n    type: Function\r\n  }, // 该方法用来实现聚合点的自定义绘制，由开发者自己实现，API 将在绘制每个聚合点的时候调用这个方法，可以实现聚合点样式的灵活设定，指定了 renderClusterMarker 后 styles 无效。\r\n  renderMarker: {\r\n    type: Function\r\n  } // 该方法用来实现非聚合点的自定义绘制，由开发者自己实现，API 将在绘制每个非聚合点的时候调用这个方法\r\n}));\r\nconst emits = defineEmits(['init']);\r\n\r\nlet $amapComponent: AMap.MarkerCluster;\r\n\r\nconst {$$getInstance, parentInstance} = useRegister<AMap.MarkerCluster, AMap.Map>((options, parentComponent) => {\r\n  return new Promise<AMap.MarkerCluster>((resolve) => {\r\n    AMap.plugin(['AMap.MarkerCluster'], () => {\r\n      const points = options.points;\r\n      delete options.points;\r\n      $amapComponent = new AMap.MarkerCluster(parentComponent, points, options);\r\n      resolve($amapComponent);\r\n    });\r\n  });\r\n\r\n}, {\r\n  emits,\r\n  watchRedirectFn: {\r\n    __points (value: AMap.MarkerClusterData) {\r\n      if ($amapComponent) {\r\n        $amapComponent.setData(value);\r\n      }\r\n    }\r\n  },\r\n  destroyComponent () {\r\n    if ($amapComponent && parentInstance?.$amapComponent) {\r\n      $amapComponent.setMap(null as any);\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAA,MAAM,EAAC,aAAe,EAAA,cAAA,KAAkB,WAA0C,CAAA,CAAC,SAAS,eAAoB,KAAA;AAC9G,MAAO,OAAA,IAAI,OAA4B,CAAA,CAAC,OAAY,KAAA;AAClD,QAAA,IAAA,CAAK,MAAO,CAAA,CAAC,oBAAoB,CAAA,EAAG,MAAM;AACxC,UAAA,MAAM,SAAS,OAAQ,CAAA,MAAA,CAAA;AACvB,UAAA,OAAO,OAAQ,CAAA,MAAA,CAAA;AACf,UAAA,cAAA,GAAiB,IAAI,IAAA,CAAK,aAAc,CAAA,eAAA,EAAiB,QAAQ,OAAO,CAAA,CAAA;AACxE,UAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,SACvB,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,SAAU,KAA+B,EAAA;AACvC,UAAA,IAAI,cAAgB,EAAA;AAClB,YAAA,cAAA,CAAe,QAAQ,KAAK,CAAA,CAAA;AAAA,WAC9B;AAAA,SACF;AAAA,OACF;AAAA,MACA,gBAAoB,GAAA;AAClB,QAAI,IAAA,cAAA,KAAkB,iDAAgB,cAAgB,CAAA,EAAA;AACpD,UAAA,cAAA,CAAe,OAAO,IAAW,CAAA,CAAA;AACjC,UAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,SACnB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;"}