Skip to content

Commit d7f0b50

Browse files
authored
feat(landing): toggle to show map tile boundaries (#2758)
1 parent 3342144 commit d7f0b50

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

packages/landing/src/components/debug.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ export class Debug extends Component<{ map: maplibregl.Map }, DebugState> {
9191
this.renderWMTS();
9292
}
9393

94+
/** Show the source bounding box ont he map */
95+
toggleTileBoundary: ChangeEventHandler = (e) => {
96+
const target = e.target as HTMLInputElement;
97+
Config.map.setDebug('debug.tile', target.checked);
98+
};
99+
94100
/** Show the source bounding box ont he map */
95101
toggleCogs: ChangeEventHandler = (e) => {
96102
const target = e.target as HTMLInputElement;
@@ -153,6 +159,7 @@ export class Debug extends Component<{ map: maplibregl.Map }, DebugState> {
153159
{this.renderPurple()}
154160
{this.renderCogToggle()}
155161
{this.renderSourceToggle()}
162+
{this.renderTileToggle()}
156163
</div>
157164
);
158165
}
@@ -216,6 +223,15 @@ export class Debug extends Component<{ map: maplibregl.Map }, DebugState> {
216223
);
217224
}
218225

226+
renderTileToggle(): ReactNode {
227+
return (
228+
<div className="debug__info">
229+
<label className="debug__label">Tile Boundaries</label>
230+
<input type="checkbox" onChange={this.toggleTileBoundary} checked={Config.map.debug['debug.tile']} />
231+
</div>
232+
);
233+
}
234+
219235
downloadSource = async (): Promise<void> => {
220236
const im = this.state.imagery;
221237
if (im == null) return;
@@ -338,6 +354,8 @@ export class Debug extends Component<{ map: maplibregl.Map }, DebugState> {
338354
setVectorShown(isShown: boolean, type: 'source' | 'cog'): void {
339355
const map = this.props.map;
340356

357+
map.showTileBoundaries = Config.map.debug['debug.tile'];
358+
341359
const layerId = Config.map.layerId;
342360
const sourceId = `${layerId}_${type}`;
343361
const layerFillId = `${sourceId}_fill`;

packages/landing/src/config.debug.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ export interface DebugState {
66
'debug.source': boolean;
77
/** Should the cog outlines be shown */
88
'debug.cog': boolean;
9+
/** Should the map tile boundaries be shown */
10+
'debug.tile': boolean;
911
/** Should things be hidden to make a better screenshot */
1012
'debug.screenshot': boolean;
1113
/** What opacity is the aerial layer, 0 is off */
@@ -22,6 +24,7 @@ export const DebugDefaults: DebugState = {
2224
debug: false,
2325
'debug.background': false,
2426
'debug.source': false,
27+
'debug.tile': false,
2528
'debug.cog': false,
2629
'debug.screenshot': false,
2730
'debug.layer.linz-aerial': 0,
@@ -56,6 +59,7 @@ export class ConfigDebug {
5659
}
5760
isChanged = setKey(opt, 'debug', true);
5861
isChanged = setKey(opt, 'debug.background', url.get('debug.background')) || isChanged;
62+
isChanged = setKey(opt, 'debug.tile', url.get('debug.tile') != null) || isChanged;
5963
isChanged = setKey(opt, 'debug.source', url.get('debug.source') != null) || isChanged;
6064
isChanged = setKey(opt, 'debug.cog', url.get('debug.cog') != null) || isChanged;
6165
isChanged = setKey(opt, 'debug.screenshot', url.get('debug.screenshot') != null) || isChanged;

0 commit comments

Comments
 (0)