We can use [`GeoServer`](http://reference.wolfram.com/language/ref/GeoServer.html) to use map tiles from an external service. There are many compatible services: - https://mathematica.stackexchange.com/q/155248/12 How can we use multiple layers, possibly loaded from multiple different servers, in a way that integrates well with the [`GeoGraphics`](http://reference.wolfram.com/language/ref/GeoGraphics.html) functionality and also work with [`DynamicGeoGraphics`](http://reference.wolfram.com/language/ref/DynamicGeoGraphics.html)? ---- For example, using the definitions [from the above linked answer][1], base = GeoGraphics[{Entity["Country", "Hungary"]}, GeoServer -> stamen["watercolor"]] ![Mathematica graphics](https://i.sstatic.net/bwb8E.png) labels = GeoGraphics[{Entity["Country", "Hungary"]}, GeoServer -> carto["light_only_labels"]] ![Mathematica graphics](https://i.sstatic.net/OhQKI.png) We could layer these together manually using one of multiple possible ways, e.g. Overlay[{base, labels}] ![Mathematica graphics](https://i.sstatic.net/53wdW.png) But this is not a good solution because it requires multiple `GeoGraphics` calls that are independent, and does not work with functions like `DynamicGeoGraphics`. [1]: https://mathematica.stackexchange.com/a/155250/12