From 7eb3dc07a08d08b39b83b52e8c2e6699bbd5c2ff Mon Sep 17 00:00:00 2001 From: vcoppe Date: Thu, 9 May 2024 00:14:43 +0200 Subject: [PATCH] avoid 3d effect when no pitch but keep elevation queries working --- website/src/lib/components/Map.svelte | 18 +++++++++++++++++- .../toolbar/tools/routing/Routing.ts | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/website/src/lib/components/Map.svelte b/website/src/lib/components/Map.svelte index 0a163176..7d9f1447 100644 --- a/website/src/lib/components/Map.svelte +++ b/website/src/lib/components/Map.svelte @@ -79,13 +79,29 @@ tileSize: 512, maxzoom: 14 }); - newMap.setTerrain({ source: 'mapbox-dem' }); + newMap.setTerrain({ + source: 'mapbox-dem', + exaggeration: 0 + }); newMap.setFog({ color: 'rgb(186, 210, 235)', 'high-color': 'rgb(36, 92, 223)', 'horizon-blend': 0.1, 'space-color': 'rgb(156, 240, 255)' }); + newMap.on('pitch', () => { + if (newMap.getPitch() > 0) { + newMap.setTerrain({ + source: 'mapbox-dem', + exaggeration: 1 + }); + } else { + newMap.setTerrain({ + source: 'mapbox-dem', + exaggeration: 0 + }); + } + }); // add dummy layer to place the overlay layers below newMap.addLayer({ id: 'overlays', diff --git a/website/src/lib/components/toolbar/tools/routing/Routing.ts b/website/src/lib/components/toolbar/tools/routing/Routing.ts index 8bfbbc34..d9a2f3cc 100644 --- a/website/src/lib/components/toolbar/tools/routing/Routing.ts +++ b/website/src/lib/components/toolbar/tools/routing/Routing.ts @@ -124,7 +124,7 @@ function getIntermediatePoints(points: Coordinates[]): Promise { route.forEach((point) => { point.setSurface("unknown"); - point.ele = get(map)?.queryTerrainElevation(point.getCoordinates()) ?? undefined; + point.ele = get(map)?.queryTerrainElevation(point.getCoordinates(), { exaggerated: false }) ?? undefined; }); return new Promise((resolve) => resolve(route));