Closed beta v0.14.0 · versionCode 68

Maps: 2D, 3D and offline

The Chase tab has two map renderers in v0.14.0: MapLibre 2D is always present and can reuse prepared provider cache data in the field; the native Google Maps 3D SDK beta needs Google Play services, a configured release build, consent and a network connection. This page covers switching, camera modes, overlays, lifecycle fallback and offline limits.

The two renderers

Shipping MapLibre 2D. The default and safety-floor renderer. It renders OpenFreeMap vector tiles, is present in every build, and can reuse browsed or explicitly prefetched provider cache data offline. Everything in the offline maps section below applies to this renderer only.

Experimental beta Native Google Maps 3D. v0.14.0 uses Google's Maps 3D SDK for Android through Google Play services. It is online-only. If build configuration, Play services, consent, permitted connectivity or the renderer is unavailable, SondeFox shows a bounded reason and keeps or returns to MapLibre 2D.

Ordinary debug and CI APKs are intentionally keyless. Their disabled 3D switch and working 2D map are the expected result. A tester never pastes a key into SondeFox; native rendering requires an official keyed release or a separately prepared restricted test artifact.

Turning the 3D beta on

The beta is off by default and sits behind a provider-specific disclosure. Upgrading users must accept it again: acceptance for the former 3D provider is not migrated to the native SDK.

  1. Check the artifact

    In a normal keyless debug build, Use Google Maps photorealistic 3D is disabled and a note says no Maps 3D Android API key was configured. Keep using 2D. On an official keyed release, continue below; there is no key entry screen.

  2. Enable it in Set

    Open the Set tab and scroll to 3D map beta. Turn on Use Google Maps photorealistic 3D. The Enable online 3D beta? dialog explains that Google Maps Platform receives network information and the regions you view, Google Play services may download and update the module, and photorealistic 3D is online-only. Choose Accept and enable or Keep 2D.

  3. Open it from Chase

    Expand the below-map controls with Show controls, then tap Open 3D beta. A successful native start reaches a steady scene and leaves Google's logo and dynamic data credits unobstructed.

  4. Return safely to 2D

    Return to 2D in Chase releases the native view and switches immediately. The button with the same label in Set has a different job: it disables the beta until you enable it again.

On mobile data, the first launch asks Use online 3D over cellular? with Allow cellular and Wi-Fi only choices. You can set the shared Google Maps 3D/saved-history policy with Allow online map/history over cellular. SondeHub Live is currently available only in the separately installed SondeFox Test debug build and, there, has its own disclosure and network choice; enabling online 3D does not enable it. Production v0.14.0 does not expose the Network Live source or authorize its REST/MQTT runtime.

Gestures in 3D

Follow is based on camera focus

The native SDK does not tell SondeFox which gesture type occurred. Instead, SondeFox checks where the camera is focused after user movement. Orbiting, zooming or tilting while the focus remains on the followed point keeps the mode and updates its viewing offset; deliberately panning the focus away switches to Free.

  • Orbit, zoom or tilt around the followed point: keeps Follow Sonde or Chase Car and remembers the adjusted heading, tilt and range.
  • Pan the focus away from the followed point: switches to Free.
  • Move the camera during Full Flight: switches to Free.
  • Programmatic camera moves: do not masquerade as user gestures.

Because this is an experimental native SDK and its runtime module can update with Google Play services, treat gesture behavior as a release-test item rather than a permanent platform promise.

The five camera modes

A single compass button at the top right of the 3D map opens the camera menu (accessibility name 3D camera modes; its state reads Current mode). A mode is greyed out whenever the thing it follows does not exist yet.

Native 3D camera modes and availability
ModeFollowsGreyed out when
Follow SondeThe tracked sondeNo sonde target yet
Chase CarYour own positionNo GPS fix
Landing ZoneThe predicted landing pointNo usable prediction, or a live prediction more than 30 minutes old. The prediction setting is off by default and needs internet
Full FlightFrames the selected archived trackNo archived flight selected or no rendered track geometry. Any user camera movement in this mode switches to Free
FreeNothing; you drive the camera and the app never moves itAlways available

Native 3D overlays

SondeFox draws three native surfaces over the map while keeping Google's own attribution clear:

  • Status: bounded messages for prediction age or staleness, focused altitude datum, reported horizontal/vertical accuracy, and a reminder that the rendered point is a reported coordinate to confirm with RF and visual checks.
  • Legend: a collapsible key for target and peer sondes, received and predicted tracks, chase vehicle, landing point and uncertainty. Items can exist in the legend while their source data is absent from the current scene.
  • Provider notice: Google Maps Platform · online 3D map. Google's logo and dynamic data credits are separate and must remain visible.

Fail-closed behavior and lifecycle

MapLibre 2D is not a degraded emergency shell; it is the complete fallback. A keyless build, missing Google Play services, no network, denied disclosure, a metered connection without permission, module/render errors or a startup timeout all keep or return the Chase map to 2D with a bounded notice.

Only one native view may be active. Leaving the eligible foreground screen, backgrounding the app, revoking consent or changing to a disallowed network tears that view down. Returning to SondeFox shows 2D; reopen 3D explicitly if the gates are satisfied. A provider request already inside the SDK may finish during teardown.

A native renderer abort can end the process before an in-app fallback runs. If a start was interrupted, the next launch remains on 2D and offers one explicit Retry 3D. It does not silently clear the warning by age or automatically loop through new native starts.

Debug-only SondeHub Live discovery stays on 2D

SondeHub Live is currently available only in the separately installed SondeFox Test debug build. Production v0.14.0 does not expose the Network Live source or authorize its REST/MQTT runtime. In the debug preview, the native 3D camera does not expand SondeHub discovery. Its camera-to-ground viewport estimate remains fail-closed until separately calibrated and approved, so native 3D contributes no discovery viewport and the network-live balloons clear when that viewport disappears. Return to MapLibre 2D, let that map settle, and then discover or refresh nearby network flights. Native 3D can still draw an eligible local target or Saved Flights/archive scene in either build.

Offline maps (2D only)

Two mechanisms keep the 2D map working without a connection.

Automatic caching. Everything you browse online is kept in an ambient cache, so areas you have merely looked at keep rendering offline. No setup needed.

Explicit prefetch. In Set, the Offline maps section downloads a whole area in advance:

  • Radius chips: 5 km / 10 km / 20 km / 50 km around your GPS fix, or the last map position if there is no fix. 10 km is the default.
  • An estimate line before you commit, for example ≈ 178 tiles, ≈ 5.8 MB. An area over 6000 tiles or 250 MiB is refused with a message to pick a smaller radius.
  • Prefetch now starts the download and shows progress; a Cancel button appears while it runs. The rate is deliberately capped to be polite to OpenFreeMap's donation-funded servers, so expect a couple of minutes for 10 km and up to ten for 50 km.
  • Cached maps: X MB shows the total size of the offline store, and Clear cached maps deletes both the prefetched regions and the ambient cache.
SondeFox settings, Offline maps section, with 5 to 50 km radius chips, a tile and megabyte estimate, the Prefetch now button, the cached maps size readout and the Clear cached maps button
Prefetch is not Wi-Fi gated

Prefetch now downloads on whatever network is active, mobile data included; a 50 km prefetch at mid latitudes can reach roughly 130 to 170 MB. Start large prefetches on Wi-Fi if data matters to you. The unmetered-only wording elsewhere in Settings belongs to the 3D beta, not to this prefetch.

Prove the cache works before you rely on it in the field:

  1. Prefetch your area, and wait for the Done line.
  2. Turn on airplane mode (Wi-Fi off too), swipe SondeFox out of recents, and relaunch it. Killing the process proves the tiles come from disk, not memory.
  3. Open Chase and pan and zoom around inside the prefetched radius: streets, water and labels all draw with zero connectivity.
  4. Pan far outside the radius to somewhere you never viewed online: the map goes blank there. That contrast is the proof.

What is never cached

SondeFox has no offline Google-content store. It does not prefetch Google 3D imagery, expose a Google-content cache size, offer a clear-cache control for it, or promise that a region will reopen without a network. Delivery and any transient provider-managed behavior belong to Google Play services and the native SDK; they do not create a SondeFox offline mode.

Plan recoveries accordingly: if the landing zone has no coverage, native 3D will not be available. Prepare and verify the 2D provider cache before the chase.

The 2D altitude view, and why it is not 3D

The 2D map has an Altitude button in the map actions. It tilts the flat map to a fixed 52 degree perspective and draws the sonde's reported altitude as a mast and curtain, compressed at a 1:50 scale. While it is on, the button relabels to Reported alt. 1:50 and a disclaimer stays on screen.

It is a height cue over a flat plane, nothing more. There is no terrain, there are no buildings, and the extruded height is the sonde's reported altitude, not its height above the ground below it. The 3D beta is the view that shows real terrain.

Attribution

Both renderers carry attribution that must stay visible, and the app enforces this itself.

  • 2D: the credit line Map tiles by OpenFreeMap, © OpenMapTiles, data from OpenStreetMap sits at the bottom of the Offline maps settings section, and on the map behind the small attribution (i) button in the bottom-right corner.
  • 3D: the native SDK supplies the Google Maps logo and dynamic data credits. SondeFox reserves a band at the bottom of the view so its own controls do not cover them. Do not cover them with anything else either.