Advanced Maps

by Jin1c
5
4
3
2
1
Score: 50/100

Description

Turn Obsidian's native Maps into a photo atlas and route viewer: map whole geotagged albums, GPX/GeoJSON/KML/TCX tracks, and Around views of linked notes.

Reviews

No reviews yet.

Stats

1
stars
143
downloads
0
forks
8
days
0
days
2
days
17
total PRs
1
open PRs
4
closed PRs
12
merged PRs
1
total issues
0
open issues
1
closed issues
72
commits

Latest Version

2 days ago

Changelog

Added

  • Reading a photo is now remembered between sessions. What came out of a photo — its coordinate, altitude, the moment, the datum its tags stated, orientation, and whether it has a thumbnail — is kept in one file beside the plugin's settings, so opening the vault again draws the same pins without opening the photos. On a base of 12,107 photos that is 12,107 file reads and about 8.5 seconds on every start, down to 20 reads and 1.2 seconds, with the same 6,504 points and the same thumbnails on screen. Photos found to carry no GPS are remembered as such rather than re-read to re-learn it every time — 5,603 of that base, or nearly half of it.

    The thumbnail images themselves are not stored; they are read on demand for the handful of photos the map is actually displaying, so the file stays small whatever size the album is. Because the raw tag values are kept rather than the converted result, changing Photo coordinate system now moves every point without reopening a single photo.

    An entry is used only while its file still reports the same path, size and time, so an edited, renamed or deleted photo is never drawn from it. The file is a cache and nothing else: Clear the photo index in settings throws it away, deleting it by hand does the same, and either way every map goes on showing exactly what it showed.

Fixed

  • A map of thousands of photos no longer reads them all at once. A base whose results are photo files made the number of files being read at one time follow the size of the result — twelve thousand concurrent reads where the code was written for a few hundred. Reads are now bounded, and a refresh that has been superseded stops starting new ones instead of draining its queue.

  • A map with nothing on it no longer raises an error from the built-in Maps view. Its marker manager reports empty bounds as a real object rather than as nothing, which the built-in view then treats as a real extent; at large result counts this surfaced as errors in the console. Advanced Maps now hands it the shape it already handles.

README file from

Github

Advanced Maps

CI License: MIT

English · 简体中文 · User guide

Turn Obsidian's native Maps view into a photo atlas, a route viewer, and a map of the notes connected to the one you are reading.

Advanced Maps reads GPS from whole photo folders, draws GPX/GeoJSON/KML/TCX routes and areas, and creates an Around view from ordinary Obsidian links. It extends the first-party Maps view instead of replacing it: MapLibre, backgrounds, markers, popups, and every built-in map option remain native. No Leaflet, no bundled renderer, no runtime dependencies.

One Base holding a photo folder and a note folder: 16,273 results — red pins for the notes, photo thumbnails at their EXIF locations, a walked GPX track between them, and a dot for every photo the zoom leaves no room for

One Base, one map: red pins are place notes, thumbnails are photos placed by their own EXIF, and the line is a .gpx a note links to. 16,273 results.

Three workflows

Use Advanced Maps as… Put this in the Base What appears
A map photo album A photo folder, including a link to an external album Every photo with readable GPS, at its EXIF location
A route viewer Notes linked to .gpx, .geojson, .kml, or .tcx files—or those files alone Routes, areas, markers, photos, elevation, and statistics a Base can sort on
An Around map Your place-note collection The current note, its links and backlinks, plus their tracks and photos

These compose. One map can show place notes, a multi-day route, and every geotagged photo taken along it.

Requirements and install

Advanced Maps requires Obsidian 1.13.1 or newer with Bases enabled and the first-party Maps plugin installed. Without that native view, it reports or skips the unavailable enhancement and leaves Obsidian usable.

  • Release: copy main.js, manifest.json, and styles.css from Releases into <vault>/.obsidian/plugins/advanced-maps/, then enable the plugin.
  • BRAT: add Jin1c-3/obsidian-advanced-maps.

Quick start

Save this as atlas.base, replace the folder paths, open it, and choose its map view:

filters:
  or:
    - file.inFolder("places")
    - file.inFolder("assets/onedrive/Pictures")
views:
  - type: map
    name: Atlas
    coordinates: coords
    trackWeight: 4
    trackOpacity: 85
    fitMaxZoom: 16

The first branch maps notes whose coords property holds a coordinate. The second maps supported photos directly from their GPS metadata. See Getting started for the Base boundary, view keys, supported photos, and the next recipes.

User guide

Topic Covers
Getting started Installation, Base boundaries, first map, view keys
Photo maps Photo folders, OneDrive, linked photos, thumbnails, index
Tracks and areas Route links, inline maps, GPX/GeoJSON/KML/TCX, polygons, statistics as properties
Around and navigation Around views, reusable Base, Open in map, follow, shared pins
Places in and out Importing a file of placemarks as notes, exporting a Base as GPX/KML/CSV
Offline basemap Tiles already on disk as the background, zoom bounds, per-view opt-out
Coordinates and services WGS-84/GCJ-02/BD-09, external maps, search, geocoding, location
Reference and privacy Supported inputs, option ownership, operational limits, network disclosure

Notes, tracks, and photo contents do not leave on their own. The plugin has no telemetry, update ping, or server; the privacy reference lists the requests made when you use maps or external services.

Project documentation

Licence

MIT.