UNPKG

rc-leaflet

Version:
131 lines (130 loc) 7.1 kB
import 'leaflet.markercluster/dist/MarkerCluster.css'; import 'leaflet.markercluster/dist/MarkerCluster.Default.css'; import React from 'react'; import PropTypes from 'prop-types'; import L from 'leaflet'; import 'leaflet.markercluster'; import { Icon } from '../../util/PropTypes'; import { ContextType } from '../RCMap/Context'; import Layer from '../Layer'; declare type Icon = L.Icon | L.DivIcon; export declare type ChunkProgress = (processed?: number, total?: number, time?: number) => void; export declare type IconCreateFunction = (cluster: L.MarkerCluster) => Icon; interface RequiredProps { points: L.LatLngExpression[]; } interface PartialProps { icon: Icon; clusterPane: string; chunkProgress: ChunkProgress; } declare type Props = Readonly<L.MarkerClusterGroupOptions & Partial<PartialProps> & RequiredProps>; export default class ClusterPoints extends Layer<L.MarkerClusterGroup, Props> { static propTypes: { points: PropTypes.Validator<(number[] | L.LatLng | PropTypes.InferProps<{ lat: PropTypes.Validator<number>; lng: PropTypes.Validator<number>; }>)[]>; icon: PropTypes.Requireable<L.Icon<L.IconOptions> | L.DivIcon>; clusterPane: PropTypes.Requireable<string>; chunkProgress: PropTypes.Requireable<(...args: any[]) => any>; showCoverageOnHover: PropTypes.Requireable<boolean>; zoomToBoundsOnClick: PropTypes.Requireable<boolean>; spiderfyOnMaxZoom: PropTypes.Requireable<boolean>; removeOutsideVisibleBounds: PropTypes.Requireable<boolean>; animate: PropTypes.Requireable<boolean>; animateAddingMarkers: PropTypes.Requireable<boolean>; disableClusteringAtZoom: PropTypes.Requireable<number>; maxClusterRadius: PropTypes.Requireable<number | ((...args: any[]) => any)>; polygonOptions: PropTypes.Requireable<PropTypes.InferProps<{ smoothFactor: PropTypes.Requireable<number>; noClip: PropTypes.Requireable<boolean>; stroke: PropTypes.Requireable<boolean>; color: PropTypes.Requireable<string>; weight: PropTypes.Requireable<number>; opacity: PropTypes.Requireable<number>; lineCap: PropTypes.Requireable<L.LineCapShape>; lineJoin: PropTypes.Requireable<L.LineJoinShape>; dashArray: PropTypes.Requireable<string | number[]>; dashOffset: PropTypes.Requireable<string>; fill: PropTypes.Requireable<boolean>; fillColor: PropTypes.Requireable<string>; fillOpacity: PropTypes.Requireable<number>; fillRule: PropTypes.Requireable<L.FillRule>; renderer: PropTypes.Requireable<L.Renderer>; className: PropTypes.Requireable<string>; interactive: PropTypes.Requireable<boolean>; bubblingMouseEvents: PropTypes.Requireable<boolean>; group: PropTypes.Requireable<L.LayerGroup<unknown>>; pane: PropTypes.Requireable<string>; attribution: PropTypes.Requireable<string>; onCreate: PropTypes.Requireable<(...args: any[]) => any>; onAdd: PropTypes.Requireable<(...args: any[]) => any>; onUpdate: PropTypes.Requireable<(...args: any[]) => any>; onBeforeRemove: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseOver: PropTypes.Requireable<(...args: any[]) => any>; onMouseOut: PropTypes.Requireable<(...args: any[]) => any>; }>>; singleMarkerMode: PropTypes.Requireable<boolean>; spiderLegPolylineOptions: PropTypes.Requireable<PropTypes.InferProps<{ smoothFactor: PropTypes.Requireable<number>; noClip: PropTypes.Requireable<boolean>; stroke: PropTypes.Requireable<boolean>; color: PropTypes.Requireable<string>; weight: PropTypes.Requireable<number>; opacity: PropTypes.Requireable<number>; lineCap: PropTypes.Requireable<L.LineCapShape>; lineJoin: PropTypes.Requireable<L.LineJoinShape>; dashArray: PropTypes.Requireable<string | number[]>; dashOffset: PropTypes.Requireable<string>; fill: PropTypes.Requireable<boolean>; fillColor: PropTypes.Requireable<string>; fillOpacity: PropTypes.Requireable<number>; fillRule: PropTypes.Requireable<L.FillRule>; renderer: PropTypes.Requireable<L.Renderer>; className: PropTypes.Requireable<string>; interactive: PropTypes.Requireable<boolean>; bubblingMouseEvents: PropTypes.Requireable<boolean>; group: PropTypes.Requireable<L.LayerGroup<unknown>>; pane: PropTypes.Requireable<string>; attribution: PropTypes.Requireable<string>; onCreate: PropTypes.Requireable<(...args: any[]) => any>; onAdd: PropTypes.Requireable<(...args: any[]) => any>; onUpdate: PropTypes.Requireable<(...args: any[]) => any>; onBeforeRemove: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseOver: PropTypes.Requireable<(...args: any[]) => any>; onMouseOut: PropTypes.Requireable<(...args: any[]) => any>; }>>; spiderfyDistanceMultiplier: PropTypes.Requireable<number>; iconCreateFunction: PropTypes.Requireable<(...args: any[]) => any>; chunkedLoading: PropTypes.Requireable<boolean>; chunkDelay: PropTypes.Requireable<number>; chunkInterval: PropTypes.Requireable<number>; group: PropTypes.Requireable<L.LayerGroup<unknown>>; pane: PropTypes.Requireable<string>; attribution: PropTypes.Requireable<string>; onCreate: PropTypes.Requireable<(...args: any[]) => any>; onAdd: PropTypes.Requireable<(...args: any[]) => any>; onUpdate: PropTypes.Requireable<(...args: any[]) => any>; onBeforeRemove: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseOver: PropTypes.Requireable<(...args: any[]) => any>; onMouseOut: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: L.MarkerClusterGroupOptions; protected constructor(props: Props, context: ContextType); componentDidUpdate(prevProps: Props): void; protected createInstance(props: Props): L.MarkerClusterGroup; protected getTheme(): object; private addPoints; render(): React.ReactNode; } export {};