(Map tiles © https://opentopomap.org, https://openstreetmap.org)
- Parallel fetching of tiles with curl
- Scrolling in large and small steps
- Zooming
- Mouse support (dragging, clicking)
- Map scale indicator
- Jump to coordinate
- Search for location by name
- Org link support
- Bookmarked positions with pins
- Multiple preconfigured servers
(use-package osm
:bind (("C-c m h" . osm-home)
("C-c m s" . osm-search)
("C-c m t" . osm-server)
("C-c m g" . osm-goto)
("C-c m b" . osm-bookmark-jump))
:init
;; Load Org link support
(with-eval-after-load 'org
(require 'osm-ol)))
To store a bookmark press the key b
, to store Org links press the key l
. You can
also use a custom binding, e.g., C-c l
. Then the link can be inserted into an Org
buffer with C-c C-l
. Bookmarks and Org links can be created at point with the
mouse, see osm-bookmark-set-click
and osm-org-link-click
.
Examples:
- Italia, 41.87° 12.46° OpenTopoMap
- London, England, 51.49° -0.14°
- København, Danmark, 55.69° 12.57° CyclOSM
- New York, United States, 40.73° -73.98° Stamen Watercolor
- Mount Everest, 27.96° 86.89° OpenTopoMap
Top-level commands:
osm-home
: Open new map at home coordinatesosm-search
: Search and jump to locationosm-goto
: Go to coordinatesosm-server
: Select serverosm-bookmark-jump
: Jump to bookmark
Key bindings in osm-mode
buffer:
<arrow>
: Small step scrollingC-<arrow>
,M-<arrow>
: Large step scrolling+
,SPC
:osm-zoom-in
- Zoom in-
,S-SPC
:osm-zoom-out
- Zoom out<mouse-1>
:osm-zoom-click
- Zoom to point<mouse-2>
:osm-org-link-click
- Store point as Org link<mouse-3>
:osm-bookmark-set-click
- Store point as bookmark<S-mouse-3>
:osm-bookmark-delete-click
- Delete bookmark at point<down-mouse-*>
:osm-drag
- Drag the map with the mouseg
:osm-goto
- Go to locationh
:osm-home
- Go to home locations
:osm-search
- Search for locationt
:osm-server
- Select tile serverl
:org-store-link
- Store org linkb
:osm-bookmark-set
- Set bookmarkB
:osm-bookmark-jump
- Jump to bookmarkq
:quit-window
- Close buffer and windowc
:clone-buffer
- Clone buffer
There have been other attempts at map viewers in Emacs before.
- https://github.com/ruediger/osm-mode
- https://github.com/svenssonjoel/Emacs-OSM
- https://github.com/jd/google-maps.el
Since this package is part of GNU ELPA contributions require a copyright assignment to the FSF.