/// import { BoundsLike, CoordPath, ISuperpower } from '@bespunky/angular-google-maps/core'; import { DrawableOverlay } from '../abstraction/types/abstraction'; import { IGoogleMapsMarker } from '../modules/marker/i-google-maps-marker'; import { IGoogleMapsPolygon } from '../modules/polygon/i-google-maps-polygon'; import { IGoogleMapsCircle } from '../modules/circle/i-google-maps-circle'; import { IGoogleMapsData } from '../modules/data/i-google-maps-data'; /** * Represents the functionality that an overlays superpower should provide. * * @export * @interface IOverlaysSuperpower * @extends {ISuperpower} */ export interface IOverlaysSuperpower extends ISuperpower { /** * Creates a marker with the specified properties and adds it to the map. * * @param {BoundsLike} position The position at which the marker should be added. * @param {google.maps.ReadonlyMarkerOptions} [options] (Optional) Any native options to assign to the marker. * @returns {GoogleMapsMarker} The wrapper object created for the new marker. */ createMarker(position: BoundsLike, options?: google.maps.ReadonlyMarkerOptions): IGoogleMapsMarker; /** * Creates a polygon with the specified properties and adds it to the map. * * @param {CoordPath} path The path describing the polygon coordinates. * @param {google.maps.PolygonOptions} [options] (Optional) Any native options to assign to the polygon. * @returns {GoogleMapsPolygon} The wrapper object created for the new polygon. */ createPolygon(path: CoordPath, options?: google.maps.PolygonOptions): IGoogleMapsPolygon; /** * Creates a polygon with the specified properties and adds it to the map. * * @param {BoundsLike} center The center of the circle. * @param {number} radius The radius in meters on the Earth's surface. * @param {google.maps.CircleOptions} [options] (Optional) Any native options to assign to the circle. * @returns {GoogleMapsCircle} The wrapper object created for the new circle. */ createCircle(center: BoundsLike, radius: number, options?: google.maps.CircleOptions): IGoogleMapsCircle; /** * Creates a data layer with the specified properties and adds it to the map. * * @param {google.maps.Data.DataOptions} [options] (Optional) Any native options to assign to the data layer. * @returns {GoogleMapsData} The wrapper object created for the new data layer. */ createDataLayer(options?: google.maps.Data.DataOptions): IGoogleMapsData; /** * Removes the specified overlay from the map. * * @template TOverlay The type of overlay being removed. * @param {TOverlay} overlay The wrapper of the overlay to remove. */ removeOverlay(overlay: TOverlay): void; }