import React, { useState } from 'react';
import { useOverlay } from '@/hooks';

export interface CircleMarkerProps extends AMap.CircleMarkerOptions {
  visible?: boolean;
  events?: any;
}

export const CircleMarker: React.FC<CircleMarkerProps> = ({
  events,
  visible,
  center,
  radius,
  extData,
  ...options
}) => {
  const [circleMarker] = useState(
    () => new AMap.CircleMarker({ ...options, extData, center, radius }),
  );

  useOverlay(
    circleMarker,
    visible,
    events,
    { center, radius, extData, options },
    ['center', 'radius', 'extData', 'options'],
  );

  return null;
};
