-
-
Notifications
You must be signed in to change notification settings - Fork 101
/
index.d.ts
187 lines (166 loc) · 5.58 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
import { PolylineOptions, MarkerCluster, Icon, DivIcon, Point } from "leaflet";
declare module "react-leaflet-markercluster" {
interface MarkerClusterGroupProps {
/**
* showCoverageOnHover
*
* When you mouse over a cluster it shows the bounds of its markers.
*/
showCoverageOnHover?: boolean | undefined;
/**
* zoomToBoundsOnClick
*
* When you click a cluster we zoom to its bounds.
*/
zoomToBoundsOnClick?: boolean | undefined;
/**
* spiderfyOnMaxZoom
*
* When you click a cluster at the bottom zoom level we spiderfy it so you can see all of its
* markers.
*
* Note: the spiderfy occurs at the current zoom level if all items within the cluster are
* still clustered at the maximum zoom level or at zoom specified by disableClusteringAtZoom
* option.
*/
spiderfyOnMaxZoom?: boolean | undefined;
/**
* removeOutsideVisibleBounds
*
* Clusters and markers too far from the viewport are removed from the map for performance.
*/
removeOutsideVisibleBounds?: boolean | undefined;
/**
* animate
*
* Smoothly split / merge cluster children when zooming and spiderfying.
* If L.DomUtil.TRANSITION is false, this option has no effect (no animation is possible).
*/
animate?: boolean | undefined;
/**
* animateAddingMarkers
*
* If set to true (and animate option is also true) then adding individual markers
* to the MarkerClusterGroup after it has been added to the map will add the marker
* and animate it into the cluster.
* Defaults to false as this gives better performance when bulk adding markers.
* addLayers does not support this, only addLayer with individual Markers.
*/
animateAddingMarkers?: boolean | undefined;
/**
* disableClusteringAtZoom
*
* If set, at this zoom level and below, markers will not be clustered.
* This defaults to disabled.
*
* Note: you may be interested in disabling spiderfyOnMaxZoom option when using
* disableClusteringAtZoom.
*/
disableClusteringAtZoom?: number | undefined;
/**
* maxClusterRadius
*
* The maximum radius that a cluster will cover from the central marker (in pixels).
* Default 80.
* Decreasing will make more, smaller clusters.
* You can also use a function that accepts the current map zoom
* and returns the maximum cluster radius in pixels.
*/
maxClusterRadius?: number | ((zoom: number) => number) | undefined;
/**
* polygonOptions
*
* Options to pass when creating the L.Polygon(points, options) to show the bounds of a cluster.
* Defaults to empty, which lets Leaflet use the default Path options.
*/
polygonOptions?: PolylineOptions | undefined;
/**
* singleMarkerMode
*
* If set to true, overrides the icon for all added markers to make them appear as a 1 size cluster.
* Note: the markers are not replaced by cluster objects, only their icon is replaced.
* Hence they still react to normal events, and option disableClusteringAtZoom does not restore
* their previous icon (see #391).
*/
singleMarkerMode?: boolean | undefined;
/**
* spiderLegPolylineOptions
*
* Allows you to specify PolylineOptions to style spider legs.
* By default, they are { weight: 1.5, color: '#222', opacity: 0.5 }.
*/
spiderLegPolylineOptions?: PolylineOptions | undefined;
/**
* spiderfyDistanceMultiplier
*
* Increase from 1 to increase the distance away from the center
* that spiderfied markers are placed.
* Use if you are using big marker icons (Default: 1).
*/
spiderfyDistanceMultiplier?: number | undefined;
/**
* iconCreateFunction
*
* Function used to create the cluster icon.
*/
iconCreateFunction?:
| ((cluster: MarkerCluster) => Icon | DivIcon)
| undefined;
/**
* spiderfyShapePositions
*
* Function used to override spiderfy default shape positions.
*/
spiderfyShapePositions?:
| ((count: number, centerPt: Point) => Point[])
| undefined;
/**
* clusterPane
*
* Map pane where the cluster icons will be added.
* Defaults to L.Marker's default (currently 'markerPane').
*/
clusterPane?: string | undefined;
/**
* chunkedLoading
*
* Boolean to split the addLayers processing in to small intervals
* so that the page does not freeze.
*/
chunkedLoading?: boolean | undefined;
/**
* chunkInterval
*
* Time interval (in ms) during which addLayers works before pausing
* to let the rest of the page process.
* In particular, this prevents the page from freezing while adding a lot of markers.
* Defaults to 200ms.
*/
chunkInterval?: number | undefined;
/**
* chunkDelay
*
* Time delay (in ms) between consecutive periods of processing for addLayers.
* Default to 50ms.
*/
chunkDelay?: number | undefined;
/**
* chunkProgress
*
* Callback function that is called at the end of each chunkInterval.
* Typically used to implement a progress indicator.
* Defaults to null.
*/
chunkProgress?:
| ((processed: number, total: number, elapsed: number) => void)
| null;
/**
* children
*
* Allow to add childrens (Marker) to the MarkerClusterGroup.
*/
children?: React.ReactNode | null;
}
}
declare const MarkerClusterGroup: ComponentType<MarkerClusterGroupProps>;
export default MarkerClusterGroup;