Changelog

What's new in mapfwd. Each release groups user-visible changes; under the hood fixes and refactors aren't listed here.

v1.5.0 — The map no longer reloads between pages

Changed

  • Going from the home page to a location page keeps the same map. It used to be a full page load, which threw the map away and rebuilt it from scratch on the other side. Now the map is handed straight over, still live, keeping the zoom you were already at instead of snapping to a fixed one.
  • On phones the map now fills the screen behind the sheet, the way a native maps app does, instead of being squeezed into the space above it. It shifts its own centre point so your location stays centred in the part you can see — including while you drag the sheet up and down.

New

  • Animated transitions between pages. The map morphs from full-screen into its place above the panel, the service list slides up as a sheet, and the header stays put. Chrome (including Android), Edge, and Safari 18.2+ show the animation; other browsers still get the smooth resize, and everything is skipped if your system is set to reduce motion.

v1.4.0 — Dedicated FAQ page

New

  • A dedicated FAQ page, organized into Universal Map Links, Google Maps, Apple Maps, Waze, Coordinates, and Businesses sections, with almost 40 answers covering everything from converting Google/Apple Maps links to building a "Get Directions" button for your business. Linked from the About page rather than the main navigation.

v1.3.0 — Guides

New

  • A new Guides section with practical, plain-English how-tos: creating a single map link for both iPhone and Android users, opening a Google or Apple Maps link directly in Waze, and turning raw GPS coordinates into a shareable link. Find it in the top navigation.

v1.2.0 — Wider input support & auto-forward parity

New

  • More map links and coordinate formats are understood. mapfwd now reads single-point links from Bing Maps, MapQuest, ViaMichelin, and Mapy.cz/com, plus yandex.ru, Apple's newer maps.apple short links, and osm.org — previously several of these were mistaken for plain addresses. You can also paste geo: URIs (e.g. geo:48.85,2.29), degrees-minutes-seconds coordinates (e.g. 48°51'29"N 2°17'40"E, N48.8 E2.2), and whole-number coordinates like 48, 2.
  • Auto-forward links honor travel mode and map style. A mapfwd.com/a/…?dir=walking&style=satellite link now opens the native app in the chosen travel mode and satellite/hybrid view — matching what the share picker already did.
  • Petal Maps now appears in the map picker on Huawei/Honor (HarmonyOS) devices.

Fixed

  • Google Maps directions from the picker now apply your travel mode and map style. The selection was being silently dropped from the generated link.
  • Directions on non-Google Android devices keep the starting point instead of opening only the destination.
  • Firefox on macOS now hands off to Apple Maps (it was falling back to Google Maps on the web).

v1.1.7

Fixed

  • Waze short URLs (waze.com/ul/{id}) now decode correctly. Their redirect chain passes through a URL with the coordinates (live-map?to=ll.<lat>,<lng> or live-map/directions?latlng=…) before ending at an error page. Redirect-following now early-exits as soon as a hop surfaces extractable coords, so we capture them mid-chain instead of landing on the error page. Also taught the Waze parser the ?to=ll.<coords> and ?latlng=<coords> formats — they show up on different paths depending on whether the chain was walked with HEAD or GET.

v1.1.6

Fixed

  • Sharing a place into the installed mapfwd PWA now opens mapfwd's own map view, with the shared location pinned. Earlier releases tried to auto-forward directly from /share to a native map app, but Android Chrome's PWA standalone mode blocks every flavor of automatic launch — only a real human tap on a link works. Rather than push a "tap to continue" button on every share, mapfwd now treats a share as "show me this place in mapfwd". From the map page you can copy a link, share it, or use the existing in-page UI to hand off to another map app.

v1.1.5

Fixed

  • Share-target on Android Chrome PWA now actually opens your map app. The auto-launch from v1.1.4's interstitial was also blocked by Chrome's external-protocol gate (page-load JS doesn't carry user activation any more than a server redirect does), so it fell through to the embedded fallback URL and loaded the source map's website inside the PWA — same symptom as v1.1.1–v1.1.4. The interstitial now does not auto-launch inside a PWA, and instead presents a big "Open" button. Tapping the button counts as user activation, which Chrome accepts, and the OS map app opens reliably. Outside the PWA (regular browser) the auto-launch still fires and the interstitial is invisible.
  • Switched the Android single-point native URL back to plain geo:. v1.1.3's intent://…?q=…#Intent;scheme=geo;…;end was malformed — with scheme=geo, the data URI reconstructed as geo://lat,lng?… (with a spurious // that the geo: protocol doesn't take), so even successful intent dispatch wouldn't find a handler. Plain geo: works correctly when invoked from a click.

v1.1.4

Fixed

  • PWA share-target on Android Chrome reliably escapes the standalone shell. v1.1.3 used intent:// URLs in a server-side redirect, but Chrome's external-protocol gating silently rejects custom-scheme launches that lack user-activation context, falling back to the embedded https URL — which then loaded the source map's website inside the PWA webview. The /share route now renders a tiny HTML interstitial with three escape hatches: an inline JS location.replace (preserves the share intent's activation), a programmatic anchor click (some Android Chrome builds honour this chain even when bare location.replace is gated), and a visible button as the guaranteed-activation manual fallback. Outside a PWA, the auto-launch fires in <100ms with no perceptible flash.

v1.1.3

Fixed

  • PWA share-target on Android now actually opens your map app. v1.1.2 redirected to geo: URIs, but Chrome's external-protocol gating silently blocked the launch across our /share → /a/... → ... redirect chain, so Google Maps still loaded as a webpage inside the PWA shell. Auto-forward now uses Android intent:// URLs, which Chrome routes through the OS intent system regardless of redirect-chain gesture state.
  • Waze share on Android now opens the Waze app. The v1.1.2 https bounce kept the URL trapped in the PWA webview; the Waze share is now wrapped in intent:// so the Waze app's app-link filter actually fires.

v1.1.2

Fixed

  • Google Maps share inside the installed PWA now opens your map app, not a webpage. On Android, a https://google.com/maps/... redirect kept the user trapped inside the PWA's standalone shell, loading Google Maps as a webpage. Auto-forward now uses the geo: URI for Android single points, which always breaks out to the OS-level default map app.
  • Sharing a Waze (or other unparseable map-service) link no longer dumps you on the homepage. When mapfwd can't decode coordinates server-side but recognises the source as a map service, it now bounces you back to the original URL so the source app's intent filter can take over. (We still can't decode Waze short URLs server-side — those need client-side resolution to convert into a regional map app.)

v1.1.1

Fixed

  • PWA share target now works for shared places from Google Maps. Sharing a place (POI, restaurant, business) from Google Maps to the installed mapfwd PWA used to land you on the homepage. The place-page URL format encodes coordinates in a data=…!3d{lat}!4d{lng} block with no @lat,lng segment, and the parser didn't recognise it. It does now.

v1.1 — Reach

Bigger reach in three large markets that don't run Google Maps as the default, plus a smarter way to share a pin into mapfwd.

New

  • Plus Codes input. Paste an Open Location Code like 8FVC9G8F+6X into any mapfwd URL — mapfwd.com/8FVC9G8F+6X or mapfwd.com/a/8FVC9G8F+6X — and it resolves to the right location. Full 11-character codes only.
  • Regional native-map auto-pick. When mapfwd detects you're in one of these regions, the auto-forward links open the local map app instead of Google Maps:
    • Russia, Belarus, Kazakhstan, Ukraine → Yandex Maps
    • China → AMap (Gaode) on Android, Petal Maps on HarmonyOS, Apple Maps on iOS (Apple Maps in CN already uses Gaode data)
    • Czech Republic, Slovakia → Mapy.cz on Android
  • PWA share target. Install mapfwd as a Progressive Web App on Android, and mapfwd shows up in the system share sheet. Share a pin from Google Maps → mapfwd → it forwards to the right native app for your region.
  • Region override via ?region=XX on /a/... URLs, useful for power users behind a VPN and for bots running from VPS IPs.

Fixed

  • URL pass-through on the /[...coords] route now reconstructs the original URL server-side, so pasting mapfwd.com/https://maps.google.com/... works reliably across all browsers.

v1.0 — Launch

The initial public release of mapfwd.com.

New

  • Smart auto-forward. /a/<coords> detects your device and redirects to the right native map: Apple Maps on iOS/macOS, Google Maps on Android, geo: URI on HarmonyOS / non-GMS Android, Bing Maps on Windows.
  • Geohash-based shareable links. Coordinates are encoded as 10-character geohashes for compact URLs. Directions use relative encoding so /a/u0762zbg61-5fdb2kf is shorter than two full hashes.
  • URL pass-through. Paste any map URL after mapfwd.com/ (Google Maps, Apple Maps, Bing, OpenStreetMap, Waze, HERE, MapQuest…) and mapfwd extracts the coordinates and forwards you on. Short links (maps.app.goo.gl, bit.ly) are followed server-side.
  • Bots. First-party bots for Telegram, Discord, Slack, IRC, Reddit, WhatsApp, Twitter, and Viber. Drop a map link in chat and get a clean mapfwd URL back, with native share-sheet hooks where the platform supports it.
  • Production hardening. Sitemap, legal pages (privacy, terms), security headers, and SSRF protection on the URL-resolver endpoint.

Have feedback? Get in touch.