Skip to content
Daniel Mendler edited this page Nov 6, 2024 · 10 revisions

Additional tile servers

By default, the osm package configures free servers which can be accessed without an API key. It is possible to configure additional servers. MapTiler, Stadia and ThunderForest offer free tiers for small volume traffic. The API key can be specified via the %k placeholder, which will be retrieved via auth-source-search.

;; Google Maps
(osm-add-server 'google-maps-roads
  :name "Google Maps Roads"
  :description "(Non-free API)"
  :url "https://%s.google.com/vt/lyrs=m&x=%x&y=%y&z=%z"
  :subdomains '("mt0" "mt1" "mt2" "mt3")
  :max-connections 16
  :ext 'png
  :group "Google Maps")
(osm-add-server 'google-maps-hybrid
  :name "Google Maps Hybrid"
  :description "(Non-free API)"
  :url "https://%s.google.com/vt/lyrs=y&x=%x&y=%y&z=%z"
  :subdomains '("mt0" "mt1" "mt2" "mt3")
  :max-connections 16
  :ext 'jpeg
  :group "Google Maps")
(osm-add-server 'google-maps-satellite
  :name "Google Maps Satellite"
  :description "(Non-free API)"
  :url "https://%s.google.com/vt/lyrs=s&x=%x&y=%y&z=%z"
  :subdomains '("mt0" "mt1" "mt2" "mt3")
  :max-connections 16
  :ext 'jpeg
  :group "Google Maps")
(osm-add-server 'google-maps-terrain
  :name "Google Maps Terrain"
  :description "(Non-free API)"
  :url "https://%s.google.com/vt/lyrs=p&x=%x&y=%y&z=%z"
  :subdomains '("mt0" "mt1" "mt2" "mt3")
  :ext 'jpeg
  :group "Google Maps")

;; Stadia
(osm-add-server 'stadia-smooth-bright
  :name "Stadia Smooth Bright"
  :description "(API key required)"
  :max-connections 16
  :group "Stadia"
  :url "https://tiles-eu.stadiamaps.com/tiles/alidade_smooth/%z/%x/%y.png?api_key=%k")
(osm-add-server 'stadia-smooth-dark
  :name "Stadia Smooth Dark"
  :description "(API key required)"
  :max-connections 16
  :group "Stadia"
  :url "https://tiles-eu.stadiamaps.com/tiles/alidade_smooth_dark/%z/%x/%y.png?api_key=%k")

;; Stamen
(osm-add-server 'stamen-toner
  :name "Stamen Toner"
  :description "(API key required)"
  :max-connections 16
  :group "Stamen"
  :url "https://tiles-eu.stadiamaps.com/tiles/stamen_toner/%z/%x/%y.png?api_key=%k")
(osm-add-server 'stamen-terrain
  :name "Stamen Terrain"
  :description "(API key required)"
  :max-connections 16
  :group "Stamen"
  :url "https://tiles-eu.stadiamaps.com/tiles/stamen_terrain/%z/%x/%y.png?api_key=%k")
(osm-add-server 'stamen-watercolor
  :name "Stamen Watercolor"
  :description "(API key required)"
  :max-connections 16
  :group "Stamen"
  :url "https://tiles-eu.stadiamaps.com/tiles/stamen_watercolor/%z/%x/%y.jpg?api_key=%k")

;; Maptiler
(osm-add-server 'maptiler-satellite-raw
  :name "MapTiler Satellite Raw"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/tiles/satellite-mediumres/%z/%x/%y.jpg?key=%k")
(osm-add-server 'maptiler-topographique
  :name "MapTiler Topographique"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/topographique/256/%z/%x/%y.png?key=%k")
(osm-add-server 'maptiler-topo
  :name "MapTiler Topo"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/topo/256/%z/%x/%y.png?key=%k")
(osm-add-server 'maptiler-dataviz
  :name "MapTiler Dataviz"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/dataviz/256/%z/%x/%y.png?key=%k")
(osm-add-server 'maptiler-bright
  :name "MapTiler Bright"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/bright/256/%z/%x/%y.png?key=%k")
(osm-add-server 'maptiler-winter
  :name "MapTiler Winter"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/winter/256/%z/%x/%y.png?key=%k")
(osm-add-server 'maptiler-streets
  :name "MapTiler Streets"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/streets/256/%z/%x/%y.png?key=%k")
(osm-add-server 'maptiler-outdoor
  :name "MapTiler Outdoor"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/outdoor/256/%z/%x/%y.png?key=%k")
(osm-add-server 'maptiler-satellite-hybrid
  :name "MapTiler Satellite Hybrid"
  :description "(API key required)"
  :max-connections 16
  :group "MapTiler"
  :url "https://api.maptiler.com/maps/hybrid/256/%z/%x/%y.jpg?key=%k")

;; Thunderforest
(osm-add-server 'thunderforest-outdoors
  :name "ThunderForest Outdoors"
  :description "(API key required)"
  :group "ThunderForest"
  :url "https://%s.tile.thunderforest.com/outdoors/%z/%x/%y.png?apikey=%k")
(osm-add-server 'thunderforest-landscape
  :name "ThunderForest Landscape"
  :description "(API key required)"
  :group "ThunderForest"
  :url "https://%s.tile.thunderforest.com/landscape/%z/%x/%y.png?apikey=%k")
(osm-add-server 'thunderforest-cycle
  :name "ThunderForest Cycle"
  :description "(API key required)"
  :group "ThunderForest"
  :url "https://%s.tile.thunderforest.com/cycle/%z/%x/%y.png?apikey=%k")
(osm-add-server 'thunderforest-transport
  :name "ThunderForest Transport"
  :description "(API key required)"
  :group "ThunderForest"
  :url "https://%s.tile.thunderforest.com/transport/%z/%x/%y.png?apikey=%k")
Clone this wiki locally