@macrostrat/map-interface 1.0.12 → 1.1.0
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.
- package/CHANGELOG.md +6 -0
- package/dist/index.cjs.js +56 -67
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +57 -68
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/context-panel/index.ts +3 -4
- package/src/dev/map-page.ts +15 -9
- package/src/helpers.ts +15 -13
- package/src/map-view/index.ts +28 -32
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/map-interface/mapbox-utils/src/labels.ts","packages/map-interface/mapbox-utils/src/position.ts","packages/map-interface/mapbox-utils/src/preprocess-styles.ts","packages/map-interface/mapbox-utils/src/utils.ts","packages/map-interface/mapbox-utils/src/view-info.ts","packages/map-interface/mapbox-utils/src/style-helpers.ts","packages/map-interface/mapbox-utils/src/index.ts","packages/map-interface/mapbox-react/src/context.ts","packages/map-interface/ui-components/src/api/types.ts","packages/map-interface/ui-components/src/util/query-string.ts","packages/map-interface/ui-components/src/util/state-hooks.ts","packages/map-interface/ui-components/src/util/layout-hooks.ts","packages/map-interface/ui-components/src/util/local-storage.ts","packages/map-interface/ui-components/src/util/json-view.ts","packages/map-interface/ui-components/src/util/scroll-helpers.ts","packages/map-interface/ui-components/src/util/migration-helpers.ts","packages/map-interface/ui-components/src/util/box-model.ts","packages/map-interface/ui-components/src/util/event-hooks.ts","packages/map-interface/ui-components/src/util/flexbox.ts","packages/map-interface/ui-components/src/util/index.ts","packages/map-interface/ui-components/src/api/provider.ts","packages/map-interface/ui-components/src/api/data-provider.ts","packages/map-interface/ui-components/src/api/indexing.ts","packages/map-interface/ui-components/src/api/frontend.ts","packages/map-interface/ui-components/src/api/paged.ts","packages/map-interface/ui-components/src/api/index.ts","packages/map-interface/ui-components/src/infinite-scroll.ts","packages/map-interface/ui-components/src/buttons/delete-button.ts","packages/map-interface/ui-components/src/buttons/index.ts","packages/map-interface/ui-components/src/collapse-panel/index.ts","packages/map-interface/ui-components/src/link-card.ts","packages/map-interface/ui-components/src/file-upload/index.ts","packages/map-interface/ui-components/src/image.ts","packages/map-interface/ui-components/src/model-editor.ts","packages/map-interface/ui-components/src/toaster.ts","packages/map-interface/ui-components/src/citations/author-list.ts","packages/map-interface/ui-components/src/citations/index.ts","packages/map-interface/ui-components/src/geodeepdive/reference-card.ts","packages/map-interface/ui-components/src/geodeepdive/index.ts","packages/map-interface/ui-components/src/text.ts","packages/map-interface/ui-components/src/dark-mode.ts","packages/map-interface/ui-components/src/form-controls/slider.ts","packages/map-interface/ui-components/src/form-controls/index.ts","packages/map-interface/ui-components/src/settings/index.ts","packages/map-interface/ui-components/src/error-boundary.ts","packages/map-interface/ui-components/src/patterns/composite-image.ts","packages/map-interface/ui-components/src/patterns/index.ts","packages/map-interface/ui-components/src/collapse-card.ts","packages/map-interface/ui-components/src/modal-panel/draggable-overlay.ts","packages/map-interface/ui-components/src/modal-panel/index.ts","packages/map-interface/ui-components/src/page-layouts/index.ts","packages/map-interface/ui-components/src/dev-panel/_inner.ts","packages/map-interface/ui-components/src/dev-panel/index.ts","packages/map-interface/ui-components/src/index.ts","packages/map-interface/mapbox-react/src/hooks.ts","packages/map-interface/mapbox-react/src/controls.ts","packages/map-interface/mapbox-react/src/terrain.ts","packages/map-interface/mapbox-react/src/debugger.ts","packages/map-interface/mapbox-react/src/focus-state.ts","packages/map-interface/mapbox-react/src/index.ts","packages/map-interface/src/src/context-panel/index.ts","packages/map-interface/src/src/location-info/utils.ts","packages/map-interface/src/src/location-info/hash-string.ts","packages/map-interface/src/src/location-info/index.ts","packages/map-interface/src/src/location-panel/header.ts","packages/map-interface/src/src/location-panel/index.ts","packages/map-interface/color-utils/src/index.ts","packages/map-interface/src/src/dev/xray.ts","packages/map-interface/src/src/controls.ts","packages/map-interface/src/src/container.ts","packages/map-interface/src/src/utils.ts","packages/map-interface/src/src/helpers.ts","packages/map-interface/src/src/map-view/terrain.ts","packages/map-interface/src/src/map-view/index.ts","packages/map-interface/src/src/dev/tile-extent.ts","packages/map-interface/src/src/expansion-panel/headers.ts","packages/map-interface/src/src/expansion-panel/index.ts","packages/map-interface/src/src/dev/vector-tile-features.ts","packages/map-interface/src/src/dev/map-page.ts","packages/map-interface/src/src/dev/index.ts","packages/map-interface/src/src/index.ts","packages/map-interface/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":[],"version":3,"file":"types.d.ts.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/map-interface/mapbox-utils/src/labels.ts","packages/map-interface/mapbox-utils/src/position.ts","packages/map-interface/mapbox-utils/src/preprocess-styles.ts","packages/map-interface/mapbox-utils/src/utils.ts","packages/map-interface/mapbox-utils/src/view-info.ts","packages/map-interface/mapbox-utils/src/style-helpers.ts","packages/map-interface/mapbox-utils/src/index.ts","packages/map-interface/mapbox-react/src/context.ts","packages/map-interface/mapbox-react/src/hooks.ts","packages/map-interface/mapbox-react/src/controls.ts","packages/map-interface/mapbox-react/src/terrain.ts","packages/map-interface/mapbox-react/src/debugger.ts","packages/map-interface/mapbox-react/src/focus-state.ts","packages/map-interface/mapbox-react/src/index.ts","packages/map-interface/ui-components/src/api/types.ts","packages/map-interface/ui-components/src/util/query-string.ts","packages/map-interface/ui-components/src/util/state-hooks.ts","packages/map-interface/ui-components/src/util/layout-hooks.ts","packages/map-interface/ui-components/src/util/local-storage.ts","packages/map-interface/ui-components/src/util/json-view.ts","packages/map-interface/ui-components/src/util/scroll-helpers.ts","packages/map-interface/ui-components/src/util/migration-helpers.ts","packages/map-interface/ui-components/src/util/box-model.ts","packages/map-interface/ui-components/src/util/event-hooks.ts","packages/map-interface/ui-components/src/util/flexbox.ts","packages/map-interface/ui-components/src/util/index.ts","packages/map-interface/ui-components/src/api/provider.ts","packages/map-interface/ui-components/src/api/data-provider.ts","packages/map-interface/ui-components/src/api/indexing.ts","packages/map-interface/ui-components/src/api/frontend.ts","packages/map-interface/ui-components/src/api/paged.ts","packages/map-interface/ui-components/src/api/index.ts","packages/map-interface/ui-components/src/infinite-scroll.ts","packages/map-interface/ui-components/src/buttons/delete-button.ts","packages/map-interface/ui-components/src/buttons/index.ts","packages/map-interface/ui-components/src/collapse-panel/index.ts","packages/map-interface/ui-components/src/link-card.ts","packages/map-interface/ui-components/src/file-upload/index.ts","packages/map-interface/ui-components/src/image.ts","packages/map-interface/ui-components/src/model-editor.ts","packages/map-interface/ui-components/src/toaster.ts","packages/map-interface/ui-components/src/citations/author-list.ts","packages/map-interface/ui-components/src/citations/index.ts","packages/map-interface/ui-components/src/geodeepdive/reference-card.ts","packages/map-interface/ui-components/src/geodeepdive/index.ts","packages/map-interface/ui-components/src/text.ts","packages/map-interface/ui-components/src/dark-mode.ts","packages/map-interface/ui-components/src/form-controls/slider.ts","packages/map-interface/ui-components/src/form-controls/index.ts","packages/map-interface/ui-components/src/settings/index.ts","packages/map-interface/ui-components/src/error-boundary.ts","packages/map-interface/ui-components/src/patterns/composite-image.ts","packages/map-interface/ui-components/src/patterns/index.ts","packages/map-interface/ui-components/src/collapse-card.ts","packages/map-interface/ui-components/src/modal-panel/draggable-overlay.ts","packages/map-interface/ui-components/src/modal-panel/index.ts","packages/map-interface/ui-components/src/page-layouts/index.ts","packages/map-interface/ui-components/src/dev-panel/_inner.ts","packages/map-interface/ui-components/src/dev-panel/index.ts","packages/map-interface/ui-components/src/index.ts","packages/map-interface/src/src/context-panel/index.ts","packages/map-interface/src/src/location-info/utils.ts","packages/map-interface/src/src/location-info/hash-string.ts","packages/map-interface/src/src/location-info/index.ts","packages/map-interface/src/src/location-panel/header.ts","packages/map-interface/src/src/location-panel/index.ts","packages/map-interface/color-utils/src/index.ts","packages/map-interface/src/src/dev/xray.ts","packages/map-interface/src/src/controls.ts","packages/map-interface/src/src/container.ts","packages/map-interface/src/src/utils.ts","packages/map-interface/src/src/helpers.ts","packages/map-interface/src/src/map-view/terrain.ts","packages/map-interface/src/src/map-view/index.ts","packages/map-interface/src/src/dev/tile-extent.ts","packages/map-interface/src/src/expansion-panel/headers.ts","packages/map-interface/src/src/expansion-panel/index.ts","packages/map-interface/src/src/dev/vector-tile-features.ts","packages/map-interface/src/src/dev/map-page.ts","packages/map-interface/src/src/dev/index.ts","packages/map-interface/src/src/index.ts","packages/map-interface/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macrostrat/map-interface",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Map interface for Macrostrat",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@macrostrat/color-utils": "^1.0.0",
|
|
12
12
|
"@macrostrat/hyper": "^3.0.0",
|
|
13
|
-
"@macrostrat/mapbox-react": "^2.
|
|
13
|
+
"@macrostrat/mapbox-react": "^2.4.0",
|
|
14
14
|
"@macrostrat/mapbox-utils": "^1.3.2",
|
|
15
15
|
"@macrostrat/ui-components": "^4.0.4",
|
|
16
16
|
"@mapbox/tilebelt": "^2.0.0",
|
|
@@ -29,12 +29,11 @@ export function LoadingButton({
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export function MapLoadingButton(props) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
return h(LoadingButton, { ...props, isLoading: mapIsLoading });
|
|
32
|
+
const isLoading = useMapStatus((s) => s.isLoading);
|
|
33
|
+
return h(LoadingButton, { ...props, isLoading });
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
type AnyChildren = React.ReactNode
|
|
36
|
+
type AnyChildren = React.ReactNode;
|
|
38
37
|
|
|
39
38
|
export interface FloatingNavbarProps {
|
|
40
39
|
className?: string;
|
package/src/dev/map-page.ts
CHANGED
|
@@ -4,7 +4,7 @@ import hyper from "@macrostrat/hyper";
|
|
|
4
4
|
import { Spacer, useDarkMode, useStoredState } from "@macrostrat/ui-components";
|
|
5
5
|
import mapboxgl from "mapbox-gl";
|
|
6
6
|
import { useCallback, useState, useEffect } from "react";
|
|
7
|
-
import { buildInspectorStyle
|
|
7
|
+
import { buildInspectorStyle } from "./xray";
|
|
8
8
|
import { MapAreaContainer, PanelCard } from "../container";
|
|
9
9
|
import { FloatingNavbar, MapLoadingButton } from "../context-panel";
|
|
10
10
|
import { MapMarker } from "../helpers";
|
|
@@ -34,8 +34,9 @@ export function MapInspector({
|
|
|
34
34
|
focusedSource = null,
|
|
35
35
|
focusedSourceTitle = null,
|
|
36
36
|
fitViewport = true,
|
|
37
|
+
styleType = "macrostrat",
|
|
37
38
|
}: {
|
|
38
|
-
headerElement?: React.
|
|
39
|
+
headerElement?: React.ReactNode;
|
|
39
40
|
transformRequest?: mapboxgl.TransformRequestFunction;
|
|
40
41
|
title?: string;
|
|
41
42
|
style?: mapboxgl.Style | string;
|
|
@@ -48,6 +49,7 @@ export function MapInspector({
|
|
|
48
49
|
mapPosition?: MapPosition;
|
|
49
50
|
bounds?: [number, number, number, number];
|
|
50
51
|
fitViewport?: boolean;
|
|
52
|
+
styleType: "standard" | "macrostrat";
|
|
51
53
|
}) {
|
|
52
54
|
/* We apply a custom style to the panel container when we are interacting
|
|
53
55
|
with the search bar, so that we can block map interactions until search
|
|
@@ -63,9 +65,15 @@ export function MapInspector({
|
|
|
63
65
|
mapboxgl.accessToken = mapboxToken;
|
|
64
66
|
}
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
if (styleType == "macrostrat") {
|
|
69
|
+
style ??= isEnabled
|
|
70
|
+
? "mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true"
|
|
71
|
+
: "mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true";
|
|
72
|
+
} else {
|
|
73
|
+
style ??= isEnabled
|
|
74
|
+
? "mapbox://styles/mapbox/dark-v10"
|
|
75
|
+
: "mapbox://styles/mapbox/light-v10";
|
|
76
|
+
}
|
|
69
77
|
|
|
70
78
|
const [isOpen, setOpen] = useState(false);
|
|
71
79
|
|
|
@@ -75,9 +83,7 @@ export function MapInspector({
|
|
|
75
83
|
});
|
|
76
84
|
const { showTileExtent, xRay } = state;
|
|
77
85
|
|
|
78
|
-
const [actualStyle, setActualStyle] = useState(
|
|
79
|
-
|
|
80
|
-
console.log("actualStyle", actualStyle);
|
|
86
|
+
const [actualStyle, setActualStyle] = useState(null);
|
|
81
87
|
|
|
82
88
|
useEffect(() => {
|
|
83
89
|
buildInspectorStyle(style, overlayStyle, {
|
|
@@ -141,6 +147,7 @@ export function MapInspector({
|
|
|
141
147
|
title,
|
|
142
148
|
}),
|
|
143
149
|
contextPanel: h(PanelCard, [
|
|
150
|
+
children,
|
|
144
151
|
h(Switch, {
|
|
145
152
|
checked: xRay,
|
|
146
153
|
label: "X-ray mode",
|
|
@@ -148,7 +155,6 @@ export function MapInspector({
|
|
|
148
155
|
setState({ ...state, xRay: !xRay });
|
|
149
156
|
},
|
|
150
157
|
}),
|
|
151
|
-
children,
|
|
152
158
|
]),
|
|
153
159
|
detailPanel: detailElement,
|
|
154
160
|
contextPanelOpen: isOpen,
|
package/src/helpers.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
useMapEaseTo,
|
|
4
4
|
useMapDispatch,
|
|
5
5
|
useMapStatus,
|
|
6
|
+
useMapInitialized,
|
|
6
7
|
} from "@macrostrat/mapbox-react";
|
|
7
8
|
import { useMemo, useRef } from "react";
|
|
8
9
|
import { debounce } from "underscore";
|
|
@@ -86,6 +87,7 @@ export function MapPaddingManager({
|
|
|
86
87
|
export function MapMovedReporter({ onMapMoved = null }) {
|
|
87
88
|
const mapRef = useMapRef();
|
|
88
89
|
const dispatch = useMapDispatch();
|
|
90
|
+
const isInitialized = useMapInitialized();
|
|
89
91
|
|
|
90
92
|
const mapMovedCallback = useCallback(() => {
|
|
91
93
|
const map = mapRef.current;
|
|
@@ -93,7 +95,7 @@ export function MapMovedReporter({ onMapMoved = null }) {
|
|
|
93
95
|
const mapPosition = getMapPosition(map);
|
|
94
96
|
dispatch({ type: "map-moved", payload: mapPosition });
|
|
95
97
|
onMapMoved?.(mapPosition, map);
|
|
96
|
-
}, [
|
|
98
|
+
}, [onMapMoved, dispatch, isInitialized]);
|
|
97
99
|
|
|
98
100
|
useEffect(() => {
|
|
99
101
|
// Get the current value of the map. Useful for gradually moving away
|
|
@@ -120,6 +122,7 @@ export function MapLoadingReporter({
|
|
|
120
122
|
const mapRef = useMapRef();
|
|
121
123
|
const loadingRef = useRef(false);
|
|
122
124
|
const dispatch = useMapDispatch();
|
|
125
|
+
const isInitialized = useMapInitialized();
|
|
123
126
|
|
|
124
127
|
useEffect(() => {
|
|
125
128
|
const map = mapRef.current;
|
|
@@ -148,36 +151,35 @@ export function MapLoadingReporter({
|
|
|
148
151
|
map?.off("sourcedataloading", loadingCallback);
|
|
149
152
|
map?.off("idle", idleCallback);
|
|
150
153
|
};
|
|
151
|
-
}, [ignoredSources,
|
|
154
|
+
}, [ignoredSources, mapIsLoading, isInitialized]);
|
|
152
155
|
return null;
|
|
153
156
|
}
|
|
154
157
|
|
|
155
158
|
export function MapMarker({ position, setPosition, centerMarker = true }) {
|
|
156
159
|
const mapRef = useMapRef();
|
|
157
160
|
const markerRef = useRef(null);
|
|
161
|
+
const isInitialized = useMapInitialized();
|
|
158
162
|
|
|
159
163
|
useMapMarker(mapRef, markerRef, position);
|
|
160
164
|
|
|
161
|
-
|
|
162
|
-
|
|
165
|
+
useEffect(() => {
|
|
166
|
+
const map = mapRef.current;
|
|
167
|
+
if (map == null || setPosition == null) return;
|
|
168
|
+
|
|
169
|
+
const handleMapClick = (event: mapboxgl.MapMouseEvent) => {
|
|
163
170
|
setPosition(event.lngLat, event, mapRef.current);
|
|
164
171
|
// We should integrate this with the "easeToCenter" hook
|
|
165
172
|
if (centerMarker) {
|
|
166
173
|
mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });
|
|
167
174
|
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
map.on("click", handleMapClick);
|
|
171
178
|
|
|
172
|
-
useEffect(() => {
|
|
173
|
-
const map = mapRef.current;
|
|
174
|
-
if (map != null && setPosition != null) {
|
|
175
|
-
map.on("click", handleMapClick);
|
|
176
|
-
}
|
|
177
179
|
return () => {
|
|
178
180
|
map?.off("click", handleMapClick);
|
|
179
181
|
};
|
|
180
|
-
}, [
|
|
182
|
+
}, [setPosition, isInitialized]);
|
|
181
183
|
|
|
182
184
|
return null;
|
|
183
185
|
}
|
package/src/map-view/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
useMapRef,
|
|
4
4
|
useMapDispatch,
|
|
5
5
|
useMapPosition,
|
|
6
|
+
useMapStatus,
|
|
6
7
|
} from "@macrostrat/mapbox-react";
|
|
7
8
|
import {
|
|
8
9
|
mapViewInfo,
|
|
@@ -116,45 +117,40 @@ export function MapView(props: MapViewProps) {
|
|
|
116
117
|
const ref = useRef<HTMLDivElement>();
|
|
117
118
|
const parentRef = useRef<HTMLDivElement>();
|
|
118
119
|
|
|
119
|
-
// Keep track of map position for reloads
|
|
120
|
-
useEffect(() => {
|
|
121
|
-
console.log("Map updated", mapRef.current);
|
|
122
|
-
}, [mapRef.current]);
|
|
123
|
-
|
|
124
120
|
useEffect(() => {
|
|
125
121
|
if (style == null) return;
|
|
126
|
-
|
|
122
|
+
let map = mapRef.current;
|
|
123
|
+
if (map != null) {
|
|
127
124
|
console.log("Setting style", style);
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
map.setStyle(style);
|
|
126
|
+
} else {
|
|
127
|
+
console.log("Initializing map", style);
|
|
128
|
+
const map = initializeMap(ref.current, {
|
|
129
|
+
style,
|
|
130
|
+
projection,
|
|
131
|
+
mapPosition,
|
|
132
|
+
...rest,
|
|
133
|
+
});
|
|
134
|
+
dispatch({ type: "set-map", payload: map });
|
|
135
|
+
map.setPadding(getMapPadding(ref, parentRef), { animate: false });
|
|
136
|
+
onMapLoaded?.(map);
|
|
130
137
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
projection,
|
|
134
|
-
mapPosition,
|
|
135
|
-
...rest,
|
|
136
|
-
});
|
|
137
|
-
map.setPadding(getMapPadding(ref, parentRef), { animate: false });
|
|
138
|
-
map.on("style.load", () => {
|
|
138
|
+
|
|
139
|
+
const loadCallback = () => {
|
|
139
140
|
onStyleLoaded?.(map);
|
|
140
141
|
dispatch({ type: "set-style-loaded", payload: true });
|
|
141
|
-
}
|
|
142
|
-
onMapLoaded?.(map);
|
|
143
|
-
dispatch({ type: "set-map", payload: map });
|
|
144
|
-
}, [style]);
|
|
142
|
+
};
|
|
145
143
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
// setMapPosition(map, mapPosition);
|
|
157
|
-
// }, [mapPosition]);
|
|
144
|
+
map = mapRef.current;
|
|
145
|
+
if (map.isStyleLoaded()) {
|
|
146
|
+
// Catch a race condition where the style is loaded before the callback is set
|
|
147
|
+
loadCallback();
|
|
148
|
+
}
|
|
149
|
+
map.on("style.load", loadCallback);
|
|
150
|
+
return () => {
|
|
151
|
+
map.off("style.load", loadCallback);
|
|
152
|
+
};
|
|
153
|
+
}, [style]);
|
|
158
154
|
|
|
159
155
|
const _computedMapPosition = useMapPosition();
|
|
160
156
|
const { mapUse3D, mapIsRotated } = mapViewInfo(_computedMapPosition);
|