@performant-software/geospatial 2.2.23-beta.13 → 2.2.23-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/build/index.js +2 -0
  2. package/build/index.js.map +1 -0
  3. package/build/main.css +127 -0
  4. package/dist/index.cjs14.js +1 -1
  5. package/dist/index.cjs15.js +1 -1
  6. package/dist/index.cjs16.js +1 -1
  7. package/dist/index.cjs17.js +1 -1
  8. package/dist/index.cjs19.js +1 -1
  9. package/dist/index.cjs198.js +1 -1
  10. package/dist/index.cjs233.js +1 -1
  11. package/dist/index.cjs233.js.map +1 -1
  12. package/dist/index.cjs234.js +1 -1
  13. package/dist/index.cjs234.js.map +1 -1
  14. package/dist/index.cjs235.js +1 -1
  15. package/dist/index.cjs235.js.map +1 -1
  16. package/dist/index.cjs26.js +1 -1
  17. package/dist/index.cjs52.js +1 -1
  18. package/dist/index.cjs59.js +1 -1
  19. package/dist/index.cjs6.js +1 -1
  20. package/dist/index.cjs6.js.map +1 -1
  21. package/dist/index.cjs60.js +9 -1
  22. package/dist/index.cjs60.js.map +1 -1
  23. package/dist/index.cjs61.js +19 -1
  24. package/dist/index.cjs61.js.map +1 -1
  25. package/dist/index.cjs62.js +1 -9
  26. package/dist/index.cjs62.js.map +1 -1
  27. package/dist/index.cjs63.js +1 -19
  28. package/dist/index.cjs63.js.map +1 -1
  29. package/dist/index.cjs67.js +1 -1
  30. package/dist/index.cjs67.js.map +1 -1
  31. package/dist/index.cjs68.js +1 -1
  32. package/dist/index.cjs68.js.map +1 -1
  33. package/dist/index.cjs69.js +1 -1
  34. package/dist/index.cjs69.js.map +1 -1
  35. package/dist/index.cjs70.js +1 -1
  36. package/dist/index.cjs70.js.map +1 -1
  37. package/dist/index.cjs71.js +1 -1
  38. package/dist/index.cjs71.js.map +1 -1
  39. package/dist/index.cjs72.js +1 -1
  40. package/dist/index.cjs72.js.map +1 -1
  41. package/dist/index.cjs73.js +1 -1
  42. package/dist/index.cjs73.js.map +1 -1
  43. package/dist/index.cjs74.js +1 -1
  44. package/dist/index.cjs74.js.map +1 -1
  45. package/dist/index.cjs75.js +1 -1
  46. package/dist/index.cjs75.js.map +1 -1
  47. package/dist/index.cjs76.js +1 -1
  48. package/dist/index.cjs76.js.map +1 -1
  49. package/dist/index.cjs77.js +1 -1
  50. package/dist/index.cjs77.js.map +1 -1
  51. package/dist/index.cjs78.js +1 -1
  52. package/dist/index.cjs78.js.map +1 -1
  53. package/dist/index.cjs79.js +1 -1
  54. package/dist/index.cjs79.js.map +1 -1
  55. package/dist/index.cjs80.js +1 -1
  56. package/dist/index.cjs80.js.map +1 -1
  57. package/dist/index.es14.js +2 -2
  58. package/dist/index.es15.js +9 -9
  59. package/dist/index.es16.js +1 -1
  60. package/dist/index.es17.js +3 -3
  61. package/dist/index.es19.js +2 -2
  62. package/dist/index.es198.js +2 -2
  63. package/dist/index.es233.js +46 -3
  64. package/dist/index.es233.js.map +1 -1
  65. package/dist/index.es234.js +22 -45
  66. package/dist/index.es234.js.map +1 -1
  67. package/dist/index.es235.js +3 -23
  68. package/dist/index.es235.js.map +1 -1
  69. package/dist/index.es26.js +1 -1
  70. package/dist/index.es52.js +6 -6
  71. package/dist/index.es59.js +2 -6
  72. package/dist/index.es59.js.map +1 -1
  73. package/dist/index.es6.js +19 -19
  74. package/dist/index.es6.js.map +1 -1
  75. package/dist/index.es60.js +30 -2
  76. package/dist/index.es60.js.map +1 -1
  77. package/dist/index.es61.js +602 -2
  78. package/dist/index.es61.js.map +1 -1
  79. package/dist/index.es62.js +5 -29
  80. package/dist/index.es62.js.map +1 -1
  81. package/dist/index.es63.js +2 -602
  82. package/dist/index.es63.js.map +1 -1
  83. package/dist/index.es64.js +2 -2
  84. package/dist/index.es67.js +2 -55
  85. package/dist/index.es67.js.map +1 -1
  86. package/dist/index.es68.js +4 -48
  87. package/dist/index.es68.js.map +1 -1
  88. package/dist/index.es69.js +28 -37
  89. package/dist/index.es69.js.map +1 -1
  90. package/dist/index.es70.js +56 -11
  91. package/dist/index.es70.js.map +1 -1
  92. package/dist/index.es71.js +47 -14
  93. package/dist/index.es71.js.map +1 -1
  94. package/dist/index.es72.js +38 -29
  95. package/dist/index.es72.js.map +1 -1
  96. package/dist/index.es73.js +8 -11
  97. package/dist/index.es73.js.map +1 -1
  98. package/dist/index.es74.js +14 -13
  99. package/dist/index.es74.js.map +1 -1
  100. package/dist/index.es75.js +29 -12
  101. package/dist/index.es75.js.map +1 -1
  102. package/dist/index.es76.js +13 -2
  103. package/dist/index.es76.js.map +1 -1
  104. package/dist/index.es77.js +14 -4
  105. package/dist/index.es77.js.map +1 -1
  106. package/dist/index.es78.js +49 -26
  107. package/dist/index.es78.js.map +1 -1
  108. package/dist/index.es79.js +58 -44
  109. package/dist/index.es79.js.map +1 -1
  110. package/dist/index.es80.js +10 -64
  111. package/dist/index.es80.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/components/LocationMarkers.js +11 -1
  114. package/types/components/LocationMarker.js.flow +82 -0
  115. package/types/components/LocationMarkers.js.flow +11 -1
@@ -1,68 +1,14 @@
1
- import * as u from "react";
2
- import { useContext as f, useRef as y, useState as m, useMemo as g, useEffect as S, cloneElement as h } from "react";
3
- import { MapContext as C } from "./index.es67.js";
4
- import s from "./index.es204.js";
5
- import { deepEqual as v } from "./index.es203.js";
6
- let x = 0;
7
- function U(t, e, a) {
8
- if (t.style && t.style._loaded) {
9
- const n = { ...a };
10
- return delete n.id, delete n.children, t.addSource(e, n), t.getSource(e);
11
- }
12
- return null;
13
- }
14
- function b(t, e, a) {
15
- s(e.id === a.id, "source id changed"), s(e.type === a.type, "source type changed");
16
- let n = "", r = 0;
17
- for (const o in e)
18
- o !== "children" && o !== "id" && !v(a[o], e[o]) && (n = o, r++);
19
- if (!r)
20
- return;
21
- const l = e.type;
22
- if (l === "geojson")
23
- t.setData(e.data);
24
- else if (l === "image")
25
- t.updateImage({
26
- url: e.url,
27
- coordinates: e.coordinates
28
- });
29
- else if ("setCoordinates" in t && r === 1 && n === "coordinates")
30
- t.setCoordinates(e.coordinates);
31
- else if ("setUrl" in t)
32
- switch (n) {
33
- case "url":
34
- t.setUrl(e.url);
35
- break;
36
- case "tiles":
37
- t.setTiles(e.tiles);
38
- break;
39
- }
40
- else
41
- console.warn(`Unable to update <Source> prop: ${n}`);
42
- }
43
- function R(t) {
44
- const e = f(C).map.getMap(), a = y(t), [, n] = m(0), r = g(() => t.id || `jsx-source-${x++}`, []);
45
- S(() => {
46
- if (e) {
47
- const o = () => setTimeout(() => n((i) => i + 1), 0);
48
- return e.on("styledata", o), o(), () => {
49
- var i;
50
- if (e.off("styledata", o), e.style && e.style._loaded && e.getSource(r)) {
51
- const c = (i = e.getStyle()) === null || i === void 0 ? void 0 : i.layers;
52
- if (c)
53
- for (const d of c)
54
- d.source === r && e.removeLayer(d.id);
55
- e.removeSource(r);
56
- }
57
- };
58
- }
59
- }, [e]);
60
- let l = e && e.style && e.getSource(r);
61
- return l ? b(l, t, a.current) : l = U(e, r, t), a.current = t, l && u.Children.map(t.children, (o) => o && h(o, {
62
- source: r
63
- })) || null;
1
+ import * as e from "react";
2
+ import { useContext as n, useMemo as a } from "react";
3
+ import { MapContext as u } from "./index.es70.js";
4
+ const p = e.createContext(null);
5
+ function c() {
6
+ var o;
7
+ const r = (o = n(p)) === null || o === void 0 ? void 0 : o.maps, t = n(u);
8
+ return a(() => ({ ...r, current: t == null ? void 0 : t.map }), [r, t]);
64
9
  }
65
10
  export {
66
- R as default
11
+ p as MountedMapsContext,
12
+ c as useMap
67
13
  };
68
14
  //# sourceMappingURL=index.es80.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es80.js","sources":["../../../node_modules/react-map-gl/dist/esm/components/source.js"],"sourcesContent":["import * as React from 'react';\nimport { useContext, useEffect, useMemo, useState, useRef } from 'react';\nimport { cloneElement } from 'react';\nimport { MapContext } from './map';\nimport assert from '../utils/assert';\nimport { deepEqual } from '../utils/deep-equal';\nlet sourceCounter = 0;\nfunction createSource(map, id, props) {\n // @ts-ignore\n if (map.style && map.style._loaded) {\n const options = { ...props };\n delete options.id;\n delete options.children;\n // @ts-ignore\n map.addSource(id, options);\n return map.getSource(id);\n }\n return null;\n}\n/* eslint-disable complexity */\nfunction updateSource(source, props, prevProps) {\n assert(props.id === prevProps.id, 'source id changed');\n assert(props.type === prevProps.type, 'source type changed');\n let changedKey = '';\n let changedKeyCount = 0;\n for (const key in props) {\n if (key !== 'children' && key !== 'id' && !deepEqual(prevProps[key], props[key])) {\n changedKey = key;\n changedKeyCount++;\n }\n }\n if (!changedKeyCount) {\n return;\n }\n const type = props.type;\n if (type === 'geojson') {\n source.setData(props.data);\n }\n else if (type === 'image') {\n source.updateImage({\n url: props.url,\n coordinates: props.coordinates\n });\n }\n else if ('setCoordinates' in source && changedKeyCount === 1 && changedKey === 'coordinates') {\n source.setCoordinates(props.coordinates);\n }\n else if ('setUrl' in source) {\n // Added in 1.12.0:\n // vectorTileSource.setTiles\n // vectorTileSource.setUrl\n switch (changedKey) {\n case 'url':\n source.setUrl(props.url);\n break;\n case 'tiles':\n source.setTiles(props.tiles);\n break;\n default:\n }\n }\n else {\n // eslint-disable-next-line\n console.warn(`Unable to update <Source> prop: ${changedKey}`);\n }\n}\n/* eslint-enable complexity */\nfunction Source(props) {\n const map = useContext(MapContext).map.getMap();\n const propsRef = useRef(props);\n const [, setStyleLoaded] = useState(0);\n const id = useMemo(() => props.id || `jsx-source-${sourceCounter++}`, []);\n useEffect(() => {\n if (map) {\n /* global setTimeout */\n const forceUpdate = () => setTimeout(() => setStyleLoaded(version => version + 1), 0);\n map.on('styledata', forceUpdate);\n forceUpdate();\n return () => {\n var _a;\n map.off('styledata', forceUpdate);\n // @ts-ignore\n if (map.style && map.style._loaded && map.getSource(id)) {\n // Parent effects are destroyed before child ones, see\n // https://github.com/facebook/react/issues/16728\n // Source can only be removed after all child layers are removed\n const allLayers = (_a = map.getStyle()) === null || _a === void 0 ? void 0 : _a.layers;\n if (allLayers) {\n for (const layer of allLayers) {\n // @ts-ignore (2339) source does not exist on all layer types\n if (layer.source === id) {\n map.removeLayer(layer.id);\n }\n }\n }\n map.removeSource(id);\n }\n };\n }\n return undefined;\n }, [map]);\n // @ts-ignore\n let source = map && map.style && map.getSource(id);\n if (source) {\n updateSource(source, props, propsRef.current);\n }\n else {\n source = createSource(map, id, props);\n }\n propsRef.current = props;\n return ((source &&\n React.Children.map(props.children, child => child &&\n cloneElement(child, {\n source: id\n }))) ||\n null);\n}\nexport default Source;\n//# sourceMappingURL=source.js.map"],"names":["sourceCounter","createSource","map","id","props","options","updateSource","source","prevProps","assert","changedKey","changedKeyCount","key","deepEqual","type","Source","useContext","MapContext","propsRef","useRef","setStyleLoaded","useState","useMemo","useEffect","forceUpdate","version","_a","allLayers","layer","React","child","cloneElement"],"mappings":";;;;;AAMA,IAAIA,IAAgB;AACpB,SAASC,EAAaC,GAAKC,GAAIC,GAAO;AAElC,MAAIF,EAAI,SAASA,EAAI,MAAM,SAAS;AAC1B,UAAAG,IAAU,EAAE,GAAGD;AACrB,kBAAOC,EAAQ,IACf,OAAOA,EAAQ,UAEXH,EAAA,UAAUC,GAAIE,CAAO,GAClBH,EAAI,UAAUC,CAAE;AAAA,EAC3B;AACO,SAAA;AACX;AAEA,SAASG,EAAaC,GAAQH,GAAOI,GAAW;AAC5C,EAAAC,EAAOL,EAAM,OAAOI,EAAU,IAAI,mBAAmB,GACrDC,EAAOL,EAAM,SAASI,EAAU,MAAM,qBAAqB;AAC3D,MAAIE,IAAa,IACbC,IAAkB;AACtB,aAAWC,KAAOR;AACd,IAAIQ,MAAQ,cAAcA,MAAQ,QAAQ,CAACC,EAAUL,EAAUI,CAAG,GAAGR,EAAMQ,CAAG,CAAC,MAC9DF,IAAAE,GACbD;AAGR,MAAI,CAACA;AACD;AAEJ,QAAMG,IAAOV,EAAM;AACnB,MAAIU,MAAS;AACF,IAAAP,EAAA,QAAQH,EAAM,IAAI;AAAA,WAEpBU,MAAS;AACd,IAAAP,EAAO,YAAY;AAAA,MACf,KAAKH,EAAM;AAAA,MACX,aAAaA,EAAM;AAAA,IAAA,CACtB;AAAA,WAEI,oBAAoBG,KAAUI,MAAoB,KAAKD,MAAe;AACpE,IAAAH,EAAA,eAAeH,EAAM,WAAW;AAAA,WAElC,YAAYG;AAIjB,YAAQG,GAAY;AAAA,MAChB,KAAK;AACM,QAAAH,EAAA,OAAOH,EAAM,GAAG;AACvB;AAAA,MACJ,KAAK;AACM,QAAAG,EAAA,SAASH,EAAM,KAAK;AAC3B;AAAA,IAER;AAAA;AAIQ,YAAA,KAAK,mCAAmCM,CAAU,EAAE;AAEpE;AAEA,SAASK,EAAOX,GAAO;AACnB,QAAMF,IAAMc,EAAWC,CAAU,EAAE,IAAI,OAAO,GACxCC,IAAWC,EAAOf,CAAK,GACvB,GAAGgB,CAAc,IAAIC,EAAS,CAAC,GAC/BlB,IAAKmB,EAAQ,MAAMlB,EAAM,MAAM,cAAcJ,GAAe,IAAI,CAAA,CAAE;AACxE,EAAAuB,EAAU,MAAM;AACZ,QAAIrB,GAAK;AAEC,YAAAsB,IAAc,MAAM,WAAW,MAAMJ,EAAe,CAAWK,MAAAA,IAAU,CAAC,GAAG,CAAC;AAChF,aAAAvB,EAAA,GAAG,aAAasB,CAAW,GACnBA,KACL,MAAM;AACL,YAAAE;AAGA,YAFAxB,EAAA,IAAI,aAAasB,CAAW,GAE5BtB,EAAI,SAASA,EAAI,MAAM,WAAWA,EAAI,UAAUC,CAAE,GAAG;AAI/C,gBAAAwB,KAAaD,IAAKxB,EAAI,SAAA,OAAgB,QAAQwB,MAAO,SAAS,SAASA,EAAG;AAChF,cAAIC;AACA,uBAAWC,KAASD;AAEZ,cAAAC,EAAM,WAAWzB,KACbD,EAAA,YAAY0B,EAAM,EAAE;AAIpC,UAAA1B,EAAI,aAAaC,CAAE;AAAA,QACvB;AAAA,MAAA;AAAA,IAER;AAAA,EACO,GACR,CAACD,CAAG,CAAC;AAER,MAAIK,IAASL,KAAOA,EAAI,SAASA,EAAI,UAAUC,CAAE;AACjD,SAAII,IACaD,EAAAC,GAAQH,GAAOc,EAAS,OAAO,IAGnCX,IAAAN,EAAaC,GAAKC,GAAIC,CAAK,GAExCc,EAAS,UAAUd,GACVG,KACLsB,EAAM,SAAS,IAAIzB,EAAM,UAAU,CAAA0B,MAASA,KACxCC,EAAaD,GAAO;AAAA,IAChB,QAAQ3B;AAAA,EAAA,CACX,CAAC,KACN;AACR;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es80.js","sources":["../../../node_modules/react-map-gl/dist/esm/components/use-map.js"],"sourcesContent":["import * as React from 'react';\nimport { useState, useCallback, useMemo, useContext } from 'react';\nimport { MapContext } from './map';\nexport const MountedMapsContext = React.createContext(null);\nexport const MapProvider = props => {\n const [maps, setMaps] = useState({});\n const onMapMount = useCallback((map, id = 'default') => {\n setMaps(currMaps => {\n if (id === 'current') {\n throw new Error(\"'current' cannot be used as map id\");\n }\n if (currMaps[id]) {\n throw new Error(`Multiple maps with the same id: ${id}`);\n }\n return { ...currMaps, [id]: map };\n });\n }, []);\n const onMapUnmount = useCallback((id = 'default') => {\n setMaps(currMaps => {\n if (currMaps[id]) {\n const nextMaps = { ...currMaps };\n delete nextMaps[id];\n return nextMaps;\n }\n return currMaps;\n });\n }, []);\n return (React.createElement(MountedMapsContext.Provider, { value: {\n maps,\n onMapMount,\n onMapUnmount\n } }, props.children));\n};\nexport function useMap() {\n var _a;\n const maps = (_a = useContext(MountedMapsContext)) === null || _a === void 0 ? void 0 : _a.maps;\n const currentMap = useContext(MapContext);\n const mapsWithCurrent = useMemo(() => {\n return { ...maps, current: currentMap === null || currentMap === void 0 ? void 0 : currentMap.map };\n }, [maps, currentMap]);\n return mapsWithCurrent;\n}\n//# sourceMappingURL=use-map.js.map"],"names":["MountedMapsContext","React","useMap","_a","maps","useContext","currentMap","MapContext","useMemo"],"mappings":";;;AAGa,MAAAA,IAAqBC,EAAM,cAAc,IAAI;AA8BnD,SAASC,IAAS;AACjB,MAAAC;AACE,QAAAC,KAAQD,IAAKE,EAAWL,CAAkB,OAAO,QAAQG,MAAO,SAAS,SAASA,EAAG,MACrFG,IAAaD,EAAWE,CAAU;AAIjC,SAHiBC,EAAQ,OACrB,EAAE,GAAGJ,GAAM,SAASE,KAAe,OAAgC,SAASA,EAAW,IAAI,IACnG,CAACF,GAAME,CAAU,CAAC;AAEzB;","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@performant-software/geospatial",
3
- "version": "2.2.23-beta.13",
3
+ "version": "2.2.23-beta.15",
4
4
  "description": "A package of components for all things map-related.",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.cjs.js",
@@ -99,6 +99,16 @@ const LocationMarkers = (props: Props) => {
99
99
  */
100
100
  const data = useMemo(() => (_.isEmpty(props.data) ? null : props.data), [props.data]);
101
101
 
102
+ const cluster = useMemo(() => {
103
+ if (!props.cluster) {
104
+ return false;
105
+ }
106
+
107
+ console.log(data);
108
+
109
+ return true;
110
+ }, [data, props.cluster]);
111
+
102
112
  /**
103
113
  * Sets the bounding box on the map.
104
114
  */
@@ -125,7 +135,7 @@ const LocationMarkers = (props: Props) => {
125
135
  />
126
136
  )}
127
137
  <GeoJSONLayer
128
- cluster={props.cluster}
138
+ cluster={cluster}
129
139
  clusterMaxZoom={props.clusterMaxZoom}
130
140
  clusterMinPoints={props.clusterMinPoints}
131
141
  clusterProperties={props.clusterProperties}
@@ -0,0 +1,82 @@
1
+ // @flow
2
+
3
+ import { MixedGeoJSONLayer, PulsingMarkerLayer, useMap } from '@peripleo/maplibre';
4
+ import React, { useEffect } from 'react';
5
+ import { DEFAULT_FILL_STYLE, DEFAULT_POINT_STYLE, DEFAULT_STROKE_STYLE } from '../utils/MapStyles';
6
+ import MapUtils from '../utils/Map';
7
+
8
+ type Props = {
9
+ /**
10
+ * If `true`, the point marker will display with a pulsing animation.
11
+ */
12
+ animate?: boolean,
13
+
14
+ /**
15
+ * The number of miles to buffer the GeoJSON data.
16
+ */
17
+ buffer: number,
18
+
19
+ /**
20
+ * The GeoJSON data representing the location.
21
+ */
22
+ data: { [key: string]: any },
23
+
24
+ /**
25
+ * GeoJSON layer fill style.
26
+ */
27
+ fillStyle?: { [key: string]: any },
28
+
29
+ /**
30
+ * GeoJSON layer point style.
31
+ */
32
+ pointStyle?: { [key: string]: any },
33
+
34
+ /**
35
+ * GeoJSON layer stroke style
36
+ */
37
+ strokeStyle?: { [key: string]: any }
38
+ };
39
+
40
+ const DEFAULT_BUFFER = 2;
41
+
42
+ /**
43
+ * This component renders a location marker to be used in a Peripleo context.
44
+ */
45
+ const LocationMarker = (props: Props) => {
46
+ const map = useMap();
47
+
48
+ /**
49
+ * Sets the bounding box on the map.
50
+ */
51
+ useEffect(() => {
52
+ if (map && props.data) {
53
+ const boundingBox = MapUtils.getBoundingBox(props.data, props.buffer);
54
+ map.fitBounds(boundingBox);
55
+ }
56
+ }, [map, props.buffer, props.data]);
57
+
58
+ return (
59
+ <>
60
+ { props.animate && (
61
+ <PulsingMarkerLayer
62
+ data={props.data}
63
+ />
64
+ )}
65
+ <MixedGeoJSONLayer
66
+ data={props.data}
67
+ fillStyle={props.fillStyle}
68
+ strokeStyle={props.strokeStyle}
69
+ pointStyle={props.pointStyle}
70
+ />
71
+ </>
72
+ );
73
+ };
74
+
75
+ LocationMarker.defaultProps = {
76
+ buffer: DEFAULT_BUFFER,
77
+ fillStyle: DEFAULT_FILL_STYLE,
78
+ pointStyle: DEFAULT_POINT_STYLE,
79
+ strokeStyle: DEFAULT_STROKE_STYLE
80
+ };
81
+
82
+ export default LocationMarker;
@@ -99,6 +99,16 @@ const LocationMarkers = (props: Props) => {
99
99
  */
100
100
  const data = useMemo(() => (_.isEmpty(props.data) ? null : props.data), [props.data]);
101
101
 
102
+ const cluster = useMemo(() => {
103
+ if (!props.cluster) {
104
+ return false;
105
+ }
106
+
107
+ console.log(data);
108
+
109
+ return true;
110
+ }, [data, props.cluster]);
111
+
102
112
  /**
103
113
  * Sets the bounding box on the map.
104
114
  */
@@ -125,7 +135,7 @@ const LocationMarkers = (props: Props) => {
125
135
  />
126
136
  )}
127
137
  <GeoJSONLayer
128
- cluster={props.cluster}
138
+ cluster={cluster}
129
139
  clusterMaxZoom={props.clusterMaxZoom}
130
140
  clusterMinPoints={props.clusterMinPoints}
131
141
  clusterProperties={props.clusterProperties}