Skip to content

Commit 034a2c2

Browse files
committed
fix: contour layer zoom level restriction
Signed-off-by: Kyle Corry <kylecorry31@gmail.com>
1 parent fb07a2b commit 034a2c2

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

app/src/main/java/com/kylecorry/trail_sense/shared/dem/map_layers/ContourGeoJsonSource.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,26 @@ class ContourGeoJsonSource : GeoJsonSource {
4646
}
4747
}
4848

49+
private val minZoom = 13
50+
private val maxZoom = 19
51+
4952
private val showLabelsOnAllContoursZoomLevels = setOf(
5053
14, 15, 19
5154
)
5255

5356
override suspend fun load(
5457
bounds: CoordinateBounds,
5558
zoom: Int
56-
): GeoJsonObject {
57-
val zoomLevel = zoom.coerceIn(DEM.IMAGE_MIN_ZOOM_LEVEL, DEM.IMAGE_MAX_ZOOM_LEVEL)
59+
): GeoJsonObject? {
60+
if (zoom !in minZoom..maxZoom) {
61+
return null
62+
}
5863

59-
val interval = validIntervals[zoomLevel] ?: validIntervals.values.first()
64+
val interval = validIntervals[zoom] ?: validIntervals.values.first()
6065
val contours = DEM.getContourLines(
6166
bounds,
6267
interval,
63-
DEM.LOW_RESOLUTION_ZOOM_TO_RESOLUTION[zoomLevel]!!
68+
DEM.LOW_RESOLUTION_ZOOM_TO_RESOLUTION[zoom]!!
6469
)
6570
var i = -10000L
6671

@@ -75,7 +80,7 @@ class ContourGeoJsonSource : GeoJsonSource {
7580
line,
7681
i++,
7782
name = if (isImportantLine || showLabelsOnAllContoursZoomLevels.contains(
78-
zoomLevel
83+
zoom
7984
)
8085
) {
8186
name

0 commit comments

Comments
 (0)