@treasuryspatial/map-react 0.1.10 → 0.1.12
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapModeViewport.d.ts","sourceRoot":"","sources":["../src/MapModeViewport.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6F,MAAM,OAAO,CAAC;AAElH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EASL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,iBAAiB,EAAE,MAAM,MAAM,CAAC;CACjC,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AACjH,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AAEpF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;IACpC,iBAAiB,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAMF,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"MapModeViewport.d.ts","sourceRoot":"","sources":["../src/MapModeViewport.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6F,MAAM,OAAO,CAAC;AAElH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EASL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,iBAAiB,EAAE,MAAM,MAAM,CAAC;CACjC,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AACjH,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AAEpF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;IACpC,iBAAiB,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAMF,eAAO,MAAM,eAAe,oGA0d1B,CAAC"}
|
package/dist/MapModeViewport.js
CHANGED
|
@@ -24,8 +24,10 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
24
24
|
const lastGeocodeLabelRef = useRef(null);
|
|
25
25
|
const reverseGeocodeRequestRef = useRef(0);
|
|
26
26
|
const resizeObserverRef = useRef(null);
|
|
27
|
+
const lastOriginRef = useRef(confirmedSelection?.origin ?? null);
|
|
27
28
|
const [mapReady, setMapReady] = useState(false);
|
|
28
29
|
const [mapError, setMapError] = useState('');
|
|
30
|
+
const [threeLayerReady, setThreeLayerReady] = useState(false);
|
|
29
31
|
const debug = useMemo(() => {
|
|
30
32
|
if (typeof window === 'undefined')
|
|
31
33
|
return false;
|
|
@@ -42,6 +44,9 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
42
44
|
}, [lightingPreset]);
|
|
43
45
|
useEffect(() => {
|
|
44
46
|
confirmedSelectionRef.current = confirmedSelection ?? null;
|
|
47
|
+
if (confirmedSelection?.origin) {
|
|
48
|
+
lastOriginRef.current = confirmedSelection.origin;
|
|
49
|
+
}
|
|
45
50
|
}, [confirmedSelection]);
|
|
46
51
|
useEffect(() => {
|
|
47
52
|
onCandidateSelectRef.current = onCandidateSelect;
|
|
@@ -245,6 +250,9 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
245
250
|
return;
|
|
246
251
|
if (candidate?.feature) {
|
|
247
252
|
controller.setSelected(candidate.feature);
|
|
253
|
+
if (candidate.selection?.origin) {
|
|
254
|
+
lastOriginRef.current = candidate.selection.origin;
|
|
255
|
+
}
|
|
248
256
|
}
|
|
249
257
|
else if (confirmedFeature) {
|
|
250
258
|
controller.setSelected(confirmedFeature);
|
|
@@ -259,12 +267,20 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
259
267
|
const map = mapRef.current;
|
|
260
268
|
if (!map || !threeLayerRef.current)
|
|
261
269
|
return;
|
|
262
|
-
|
|
263
|
-
|
|
270
|
+
const selectionOrigin = confirmedSelection?.origin ?? candidate?.selection?.origin ?? null;
|
|
271
|
+
if (selectionOrigin) {
|
|
272
|
+
lastOriginRef.current = selectionOrigin;
|
|
273
|
+
threeLayerRef.current.setOrigin(selectionOrigin);
|
|
264
274
|
return;
|
|
265
275
|
}
|
|
266
|
-
|
|
267
|
-
|
|
276
|
+
const hasGeometry = Boolean(geometry3dm || meshGroup);
|
|
277
|
+
const fallbackOrigin = hasGeometry ? lastOriginRef.current : null;
|
|
278
|
+
if (fallbackOrigin) {
|
|
279
|
+
threeLayerRef.current.setOrigin(fallbackOrigin);
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
threeLayerRef.current.setOrigin(null);
|
|
283
|
+
}, [mapReady, confirmedSelection, candidate, geometry3dm, meshGroup, threeLayerReady]);
|
|
268
284
|
useEffect(() => {
|
|
269
285
|
if (!mapReady)
|
|
270
286
|
return;
|
|
@@ -310,11 +326,18 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
310
326
|
(applyLightingPreset ?? defaultApplyLightingPreset)(scene, renderer, lightingPresetRef.current);
|
|
311
327
|
},
|
|
312
328
|
});
|
|
329
|
+
setThreeLayerReady(true);
|
|
313
330
|
}
|
|
314
331
|
const layer = threeLayerRef.current.layer;
|
|
315
332
|
if (!map.getLayer(layer.id)) {
|
|
316
333
|
map.addLayer(layer);
|
|
317
334
|
}
|
|
335
|
+
const selection = confirmedSelectionRef.current;
|
|
336
|
+
const origin = selection?.origin ?? lastOriginRef.current;
|
|
337
|
+
if (origin) {
|
|
338
|
+
lastOriginRef.current = origin;
|
|
339
|
+
threeLayerRef.current?.setOrigin(origin);
|
|
340
|
+
}
|
|
318
341
|
};
|
|
319
342
|
const bindFootprintHandlers = (map) => {
|
|
320
343
|
if (handlersBoundRef.current)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@treasuryspatial/map-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@treasuryspatial/map-kit": "^0.1.
|
|
21
|
+
"@treasuryspatial/map-kit": "^0.1.8"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=18",
|