Skip to content
moonframehqPublic

About

Moonmap: a desktop map app laid out like Apple Maps, built on Moonframe. Switchable tile providers, place sheets, directions and 360° Look Around.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Moonmap: a cream map pin holding Moonframe's striped moon, on a teal badge in a brown tile

Moonmap

A desktop map app laid out like Apple Maps.
Pick your tiles, and reshape it while it runs.

Install · Gallery · What it does · Place sheet · Make it yours · Limitations

Moonmap is a desktop map app on Moonframe: a sidebar of places and recents, Maps' control stack down the map's right edge, Look Around bottom-left and the weather bottom-right. The map is Moonframe's ui.map, and the tiles come from whichever provider you pick. It is not affiliated with Apple.

Gallery

The Moonmap window over San Francisco: a sidebar of places, drive-time suggestions and recents on the left, the blue location dot at Union Square, and the map controls down the right edge
The window. Places, suggestions and recents on the left; the map's controls on the right.

The place sheet for the Palace of Fine Arts, with a photo, a drive time, a Look Around button and a description
Place sheet. Photos and a description from Wikipedia, details from OpenStreetMap.
A drive from Union Square to the Palace of Fine Arts, drawn in blue along the streets
Directions. By car, on foot or by bike, routed along the streets.
Search results for coffee around San Francisco, listed in the sidebar and pinned on the map
Search. Nearest first, in the sidebar and on the map.
The Map Styles picker, with a swatch for each tile provider
Map Styles. Switch tile providers; some take an API key.
Look Around showing a street in Paris beside the Louvre
Look Around. 360° panoramas you drag, zoom and walk through, here from Panoramax.
The place sheet in dark mode
Light and dark. The window follows the system.

Install

Moonmap has no release yet, so build it from source. You need rustup, Xcode Command Line Tools and Just. The first build compiles Moonframe and GPUI and can take several minutes.

just demo        # a fixed position at Union Square and public San Francisco places
just run         # your own library, in ~/Library/Application Support/moonmap
just app         # a standalone release bundle in target/bundle
just screenshot target/screenshots/home.png home   # home, place, directions, styles, results, dark
just screenshots # retake the screenshots above
just ci

just demo never asks the location service, and it rebuilds its library on each launch.

What it does

  • My Location: CoreLocation at its best accuracy, with no distance filter. If you granted only an approximate location, it asks once for full accuracy. The blue dot breathes while the fix is live and turns grey when it only shows where you were last seen. Hover the location button to see the accuracy.

  • Search: Nominatim (OpenStreetMap). It looks near the map first, nearest first, then tries a category word ("coffee" becomes cafe), then searches anywhere.

  • Places: Pinned, Saved Places, Guides (your own collections), Routes, Visited Places (places you opened) and Recently Added, kept in library.json.

  • Siri Suggestions: drive times from My Location to your first two pinned places, from OSRM at routing.openstreetmap.de.

  • Directions: car, walk or bike, routed along streets by ui.map. You can save a route.

  • Map Styles: the map button switches tile providers. Styles that need an API key take one in the picker. It is stored in the library file, in plain text.

  • Weather: Open-Meteo temperature and US AQI at the map's center.

Place sheet

Opening a place shows a full-height sheet. Its website, phone, hours, kind and area come from OpenStreetMap, and its description and photos from Wikipedia, when the place has a page. No open source gives ratings or booking offers, so the sheet has neither. Sections with nothing to show are left out.

Make it yours

The sparkles under the map controls open a dialog: say what should change, optionally pick an element with Inspect, and a coding agent (Claude by default) changes the app's files. It asks before each change, and the window reloads with the result. Replies go under Feedback & fixes. It needs an agent with an ACP mode, or Node for npx.

Limitations

  • Sparkles in a packaged app: outside a repository the agent works in ~/.config/moonframe, while Moonmap reads ~/.config/moonmap. Use a debug build from this repository until cwd in providers/acp covers it.
  • macOS gives a location only to an app bundle. just run and just demo run the debug build from target/dev/Moonmap.app. A bare cargo run shows a notice instead, and so does a terminal launch on first use: there the terminal, not Moonmap, gets the permission request. Launch with open target/dev/Moonmap.app the first time so macOS asks Moonmap. MOONMAP_DEBUG_LOCATION=1 prints what CoreLocation reports.
  • A Mac locates itself by Wi-Fi, usually to within 20 to 60 m. Maps.app reads the same service, so it isn't more precise; it may only have had a fix longer.
  • The tiles are raster and ui.map draws them flat, so there is no 3D. Their labels are part of the image, so they shrink between zoom levels.
  • The compass button is not connected yet: it always shows north, and clicking it does not turn the map back.
  • Look Around shows 360° panoramas from Panoramax, or from Mapillary with a token set in Map Styles. Panoramax has little outside France, so without a token many places show the button disabled: it needs a panorama within 150 m.
  • CARTO's basemaps now return an "API key required" tile to every keyless request. Moonframe's carto-* providers have no key slot, so Moonmap leaves them out until Moonframe adds one.
  • Apple's points of interest come from Apple's vector data. Here, what you see is whatever the chosen tile style draws.
  • Moonmap is built and run on macOS. My Location is macOS only, and the Linux build has not been tested.

License

MIT. Map data, tiles, photos and panoramas belong to their providers and contributors, as credited in the app.

About

Moonmap: a desktop map app laid out like Apple Maps, built on Moonframe. Switchable tile providers, place sheets, directions and 360° Look Around.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages