Skip to content

Repository files navigation

Where?

Free, lightweight offline hiking maps for Norway. A spiritual successor to the discontinued Hvor? app from Kartverket, with topographic maps from Kartverket, OpenStreetMap, and more. Available for Android and iOS, and always free. See RELEASES.md for what's new in each release.

Download on the App Store Get it on Google Play Buy Me A Coffee

Features

Maps

  • Offline base maps: Kartverket (topo, toporaster, nautical charts), MapAnt (LiDAR-based orienteering maps), OpenTopoMap, OpenStreetMap, and Sentinel-2 satellite imagery
  • Overlays: waymarked hiking trails, OSM paths and tractor roads (the detail MapAnt lacks), slope steepness from NVE (with or without avalanche runout zones), a coordinate grid, and a crosshair with live elevation and slope readout

Location and sharing

  • GPS recording that keeps running with the screen locked, with live time, distance, ascent, and average speed on the map
  • Real-time location sharing so friends and family can follow your trip live
  • Follow several friends' live tracks on your own map, each in its own colour

Tracks

  • Save, revisit, import (GPX and FIT, several files or a whole zip at once, optionally straight into a folder), and export (GPX) tracks, compatible with other hiking and navigation apps
  • Connect your Strava account (using your own Strava API app) to browse and import your planned routes
  • Import from a Garmin Connect, Komoot, or ut.no activity URL, or a direct GPX/FIT link
  • Organize saved tracks into folders, with move, rename, remove, per-folder select all/none, and undo
  • Navigate along a saved track with remaining distance, elevation, an off-course arrow pointing back to the route, and a reverse-direction toggle, keeping any other tracks you're viewing visible alongside the route; tap the route to see its altitude chart
  • Show several tracks at once, each in its own color (or pick a custom color per saved track), and tap one to focus it
  • Elevation chart you can scrub to mark the matching point on the map, for a focused track or the route you are navigating
  • Crop the start and end of a saved track

Tools

  • Place search
  • Distance measurement with the ruler or a two-finger gesture
  • Save and manage points of interest, each with an optional description and colour, and import GPX waypoints (several files or a whole zip at once, ticking off which ones to keep)
  • Coordinate readout in UTM, MGRS, latitude/longitude, or DMS
  • Compass rose that points the map north on tap, and locks it there on the next tap

Built with

Kotlin Multiplatform sharing navigation, geometry, storage, and Compose Multiplatform UI between Android and iOS. Maps render with MapLibre, and tracks and points are stored locally with Room. The optional live-tracking backend under web/ runs on Bun.

Building

Android app

Requires Android 13 (API 33) or newer.

  1. Copy local.properties.example to local.properties and fill in your values
  2. Place your google-services.json in app/ (from the Firebase console)
  3. ./gradlew assembleDebug

iOS app

  1. Set up local.properties as above (the shared module build needs it)
  2. Build the shared framework: ./gradlew :shared:linkDebugFrameworkIosSimulatorArm64
  3. Open iosApp/Where.xcodeproj in Xcode
  4. Wait for Xcode to fetch MapLibre via SPM on first open
  5. Select an iPhone simulator and press Run (Cmd+R)

The Gradle build phase in Xcode (embedAndSignAppleFrameworkForXcode) compiles the shared Kotlin framework automatically, so after the initial setup you can iterate from Xcode directly.

To verify just the shared framework without Xcode:

./gradlew :shared:linkDebugFrameworkIosSimulatorArm64   # simulator
./gradlew :shared:linkDebugFrameworkIosArm64            # device

Web server

See web/README.md.

License

Mozilla Public License 2.0.

About

Free offline hiking maps for Norway

Resources

Stars

9 stars

Watchers

0 watching

Forks

Sponsor this project

Used by

Contributors

Languages