@treasuryspatial/map-react 0.1.9 → 0.1.10
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,oGAmc1B,CAAC"}
|
package/dist/MapModeViewport.js
CHANGED
|
@@ -23,6 +23,7 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
23
23
|
const onCandidateClearRef = useRef(onCandidateClear);
|
|
24
24
|
const lastGeocodeLabelRef = useRef(null);
|
|
25
25
|
const reverseGeocodeRequestRef = useRef(0);
|
|
26
|
+
const resizeObserverRef = useRef(null);
|
|
26
27
|
const [mapReady, setMapReady] = useState(false);
|
|
27
28
|
const [mapError, setMapError] = useState('');
|
|
28
29
|
const debug = useMemo(() => {
|
|
@@ -150,6 +151,24 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
150
151
|
canvas.removeEventListener('webglcontextlost', onContextLost);
|
|
151
152
|
canvas.removeEventListener('webglcontextrestored', onContextRestored);
|
|
152
153
|
};
|
|
154
|
+
const container = containerRef.current;
|
|
155
|
+
if (container && typeof ResizeObserver !== 'undefined') {
|
|
156
|
+
const observer = new ResizeObserver(() => {
|
|
157
|
+
if (!mapRef.current)
|
|
158
|
+
return;
|
|
159
|
+
mapRef.current.resize();
|
|
160
|
+
if (debug) {
|
|
161
|
+
const mapCanvas = mapRef.current.getCanvas();
|
|
162
|
+
log('map resize', {
|
|
163
|
+
canvasSize: { width: mapCanvas.width, height: mapCanvas.height },
|
|
164
|
+
canvasRect: mapCanvas.getBoundingClientRect(),
|
|
165
|
+
containerRect: container.getBoundingClientRect(),
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
observer.observe(container);
|
|
170
|
+
resizeObserverRef.current = observer;
|
|
171
|
+
}
|
|
153
172
|
map.on('style.load', () => {
|
|
154
173
|
if (!map.isStyleLoaded())
|
|
155
174
|
return;
|
|
@@ -169,6 +188,17 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
169
188
|
applyMapVisibility(map, mapVisibility, opacityCacheRef);
|
|
170
189
|
setMapReady(true);
|
|
171
190
|
bindFootprintHandlers(map);
|
|
191
|
+
requestAnimationFrame(() => {
|
|
192
|
+
map.resize();
|
|
193
|
+
if (debug) {
|
|
194
|
+
const mapCanvas = map.getCanvas();
|
|
195
|
+
log('map load', {
|
|
196
|
+
canvasSize: { width: mapCanvas.width, height: mapCanvas.height },
|
|
197
|
+
canvasRect: mapCanvas.getBoundingClientRect(),
|
|
198
|
+
containerRect: map.getContainer().getBoundingClientRect(),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
});
|
|
172
202
|
});
|
|
173
203
|
geocoder.on('result', (event) => {
|
|
174
204
|
const center = event?.result?.center;
|
|
@@ -197,6 +227,8 @@ export const MapModeViewport = forwardRef(function MapModeViewport({ active, geo
|
|
|
197
227
|
threeLayerRef.current = null;
|
|
198
228
|
setMapReady(false);
|
|
199
229
|
handlersBoundRef.current = false;
|
|
230
|
+
resizeObserverRef.current?.disconnect();
|
|
231
|
+
resizeObserverRef.current = null;
|
|
200
232
|
cleanupCanvasEvents?.();
|
|
201
233
|
cleanupMapEvents?.();
|
|
202
234
|
};
|
|
@@ -386,6 +418,8 @@ const ensureGeometryUvs = (geometry) => {
|
|
|
386
418
|
geometry.setAttribute('uv', new THREE.BufferAttribute(uvs, 2));
|
|
387
419
|
};
|
|
388
420
|
function applyMaterialOverrides(group, settings) {
|
|
421
|
+
if (!group || typeof group.traverse !== 'function')
|
|
422
|
+
return;
|
|
389
423
|
const color = new THREE.Color(settings?.color ?? '#ffffff');
|
|
390
424
|
const textureUrl = settings?.textureUrl;
|
|
391
425
|
const repeat = settings?.textureRepeat ?? 2;
|