QuickMapServices: easy basemaps in QGIS

Basemap is often the first layer added at the start of a GIS project. Basemaps are often presented through various webservices: TMS, WMS, WMTS, ESRI ArcGIS Services or simply as XYZ tiles.

Latest QuickMapServices news: dedicated website, search, API, more client software

Desktop GIS have different tools for adding basemaps.

QGIS, for example, has its own providers and 3rd-party plugins to access those services. WMS and WMTS protocols are implemented in the core. It is possible to access XYZ tiles through WMS Driver by writing a special XML file understandable by GDAL. This is not convenient, as you need to remember all these addresses and takes time to create those files.

Existing  plugins offer some of the needed functionality, but after studying, we felt that there is a niche for a new plugin which will combine the best features. Welcome QuickMapServices – a plugin that makes work with web-based basemaps easy.

QuickMapServices:

  1. Includes continuously updated list of services that you can add to the project in one click (as OpenLayers Plugin, but the latter uses webkit approach to add tiles which is not optimal).
  2. Doesn’t have problems with scaling labels on non-standard zoom levels (unlike Tile Map Scale Plugin, which uses universal GDAL driver that leads to problems with visualization and printing on non-standard zoom levels in QGIS).
  3. Uses tile access implementation with aliasing on non-standard zoom level (like TileLayer Plugin, but this plugin can’t add basemaps in one click).
  4. Is easily extendable by adding simple ini files.

We didn’t limit ourselves by one type of service: you can add almost all kinds of basemaps: XYZ tiles, TMS, WMS, WMTS, ESRI ArcGIS Services.

We’ve just started and implemented only basic functionality. We plan to extend the list of services that can be plugged via QuickMapServices and add new functionality: better work with scales, more data sources, support for native user forms for adding services on the map etc.

We will be grateful for feedback, links to services that can be openly used, etc. Pull-requests are welcome at Github.

Detailed manual for QuickMapServices is also available.

More about QMS:

102 responses to “QuickMapServices: easy basemaps in QGIS”

  1. Rolf Schulz says:

    How can I retrieve BING and Google maps with your QuickMapServices plugin?

    Thanks

    Rolf

  2. Jahanzaib says:

    Does QuickMapServices plugin provide searching latitude, longitude?

  3. Philippe says:

    Hi all,

    I just installed Quickmapservices on Qgis,

    Do you know how can i generate a Map of HK?

    Thank you !
    Philippe

  4. HubLot says:

    Awesome plugin ! Congrats on your work.
    I was wondering if we could set the scale level of the tiles so that labels don’t “shrink” when printing…

  5. Pianos says:

    I installed this plugin because I was having trouble with OpenLayerPlugin when exporting maps. Now How do I access google satellite maps to use as base map.

  6. Xabi says:

    How can I add ini files in Mac OS 10.9? I’m not able to find the folder containing Quick Map Services’ files. I’ve an .ini file I would like to load in QGIS using your plugin, and it is impossible for the moment.

    Thanks

  7. pauljkart says:

    Hi,
    I have quickmapservice installed, but it has disappeared from the QGIS menus, it used to be there. I’ve tried uninstalling and re-installing, but doesn’t show up. any ideas how to get it back?

  8. Ben says:

    Hi,
    I was very enthusiastic about the new plugin because I thought it would solve the issue of OpenLayersPlugin in the print composer. Unfortunatelly there seem to be the same problems with the new plugin as well… In printo composer e.g. Bing maps are wrongly displayed and export is not possible. Do you think these will be fixed in the near future?

    Thanks!

  9. tim says:

    im trying to figure out how people can add my gwc tms into qgis – i dont spend much time with desktop software
    https://maps.nyc.gov/tms/1.0.0/
    https://maps.nyc.gov/tiles/

  10. Benjamin says:

    The PlugIn is very nice and usefull.
    I miss an option to add a local tile-basemap. If I would like use an basemap on expedition without a internet connection i have a tile-basemap locally. At the moment is is only working, if i run a local webserver like tomcat or if I create manual a data_source in the “data_sources”-folder. In the dialog I can’t add this because it is not possible to set a local path.
    Maybe you can add a option to create a basemap from local device.

  11. Jef says:

    Hi,
    I opened a delimited file layer with lat and long. I tried opening all maps (trial and error which will show, one after the other). Yet, nothing showed. What must be the problem. Mine is QGIS 2.18.9 version.
    Thank you for your reply/help.
    Jef
    IRRI Philippines

  12. glenn hazelton says:

    the OMS Mapnik option is not showing up in the list of available tools. i see it in the image you have above on this website but it doesn’t show up when your pluggin is installed. please explain.

  13. Maryjune says:

    Hello i have downloaded the QuickMapServices, after that what do I do then? It doesn’t work yet in my QGIS.
    BTW, I am using QGIS version nodebo 2.16

    • Well, start adding services in QGIS with QMS. Have a look at screenshots above, they should give you an idea. Let us know if you need more help.

      • Maryjune says:

        That I don’t how to add. I don’t have that option here in my QGIS. its only OWS, WCS, WFS, and WMS. no QMS
        Thank you so much!

  14. Sunny Morales Morales says:

    Hello !
    I Have this message:
    “Plugin quick_map_services: The plugin will be disabled because it crashed QGIS during last startup. Please report an issue and re-enable the plugin when the problem has been solved” …
    How can solve it? Please help

  15. Sam Knight says:

    Hi Maxim,
    I’ve been finding the QMS plugin incredibly useful in QGIS- great work! Recently though, the OSM layers other than the Standard version (e.g. OSM TF Landscape) have started displaying with an “API Key Required” watermark. A bit of research lead to me getting a Thunderforest API Key, but is there a way of entering it into QMS? Thanks in advance, Sam

  16. Beck says:

    Hi
    I’m using Google Satellite as a basemap. Is there anyway to show the map source on the map? In the layer properties there is the option to place the credit on the bottom right corner but this doesn’t appear to do anything on my screen.

    • Beck says:

      Hi
      Is anyone able to offer assistance on the above please? I need the attribution for the map provider to appear somewhere on the map (preferably the bottom right hand corner). A simple answer would be appreciated, if possible, as I haven’t written computer programmes for over 30 years and am completely out of touch with the newer coding systems such as python.

  17. Pedro Monteiro says:

    Hello:
    I use Qgis (v. 2.14.1 Essen) inside Portable Gis (http://www.archaeogeek.com/pages/portable-gis/). I usually don’t have any issues in installing modules from the official repo, except for the Quick Map Services module, which I cannot install. Phyton always throws an error “No module name requests”. How can I solve this problem?

    • Unfortunately we can’t help with different packaging systems.

      • Pedro Monteiro says:

        Thanks Maxim:
        But is there any special difference in Quick Map Services that could explain that only that module – unlike all the others – cannot be installed?
        Best regards

        • Try one more time, if you were trying to install one of the previous versions there was a bug on our side with packaging requests. 0.19.3 should be good if this was related.

          • Pedro Monteiro says:

            Hello Maxim:
            QMS is finally installed (in Portable Gis latest version), some default services are ok, but these don’t show up (EPSG 3035):
            1. Landsat (Gis-Lab.info) – Message: Timeout
            2. NASA Fires – Past 24 hours – Message in red under layername: layer’s legend has failures
            3. NASA Fires – Past 48 hours – [same as above]
            4. OSM Veloroad – Message: failed to download all 20 files
            5. eAtlas EGIP – [no message]
            Thank you very much

          • Please try using QMS search. Generally we gradually moving away from the catalog, search should be more up to date.

            Fixes for the default catalog can be sent here: https://github.com/nextgis/quickmapservices/tree/master/src/data_sources

  18. Ashan says:

    Please, can you mention the Path of Adding API key for request maps?

  19. Ricardo Sampaio says:

    Hi, I’m trying to access the google satellites image using the QuickMapServices, but when I click on the “more services-Get contributed pack, the message: “Error on getting contrib pack: 6” appears! I’m using Mac. Can you tell me how I can solve that?
    regards
    Ricardo

  20. David says:

    Is QGIS3 support coming?

  21. dja says:

    hi there. trying to install the contributor pack and i’m getting this error:
    Error on getting contrib pack: 6
    any ideas?

  22. val says:

    Hi,
    Thanks for this amazing plugin ! It’s so usefull and powerfull.
    I just have one question though. Is it possible to fix the zoom/scale (eg : high definition for a large area)

    • Hello, not sure if I understood your question correctly. QMS and Tile services in general already operate at fixed zooms/scales.

  23. Chad says:

    Hi, I’m a new QGIS user and just discovered this plugin that I was hoping to use in creating shapefiles. So I installed QMS in QGIS 2.18.16 but when try to use by clicking “Get contributed pack” under QMS Settings/More services, I get an error message that says “Error on getting contrib pack: 3”.
    Next I installed QMS in the latest QGIS 3.0.1 (on same computer concurrently with 2.18.16), and again click on “Get contributed pack”. This time the following error message comes out:

    A Python code execution error has occurred (*see note):
    AttributeError: module ‘sys’ has no attribute ‘exc_type’
    Traceback (most recent call last):
    File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\settings_dialog.py”, line 127, in get_contrib
    ExtraSources().load_contrib_pack()
    File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 76, in load_contrib_pack
    latest_release_info = self._get_latest_release_info()
    File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 109, in _get_latest_release_info
    reply = self.__sync_request(url)
    File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 143, in __sync_request
    raise Exception(error)
    Exception: 3

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\settings_dialog.py”, line 135, in get_contrib
    error_message = self.tr(‘Error on getting contrib pack: %s %s’) % (sys.exc_type, sys.exc_value)
    AttributeError: module ‘sys’ has no attribute ‘exc_type’
    Python version: 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)]
    QGIS version: 3.0.1-Girona Girona, a86bec25eb

    Python path:
    C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python
    C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
    C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python/plugins
    C:\Program Files\QGIS 3.0\bin\python36.zip
    C:\PROGRA~1\QGIS3~1.0\apps\Python36\DLLs
    C:\PROGRA~1\QGIS3~1.0\apps\Python36\lib
    C:\Program Files\QGIS 3.0\bin
    C:\PROGRA~1\QGIS3~1.0\apps\Python36
    C:\PROGRA~1\QGIS3~1.0\apps\Python36\lib\site-packages
    C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    C:/Users/username/Documents/GIS DataBase/Project

    So I can’t use QMS on either versions of QGIS. 🙁 Hope someone could help me solve this issue. Thanks!

    – Chad

    *Note: I translated the above line to English as the original was in Japanese. I’m using Win 10, Japanese OS.

  24. Chad says:

    Additional info:
    Hi, I’d like to add that I only clicked on “Get contributed pack” as nothing in the map options (NASA, OSM, etc.) display when I click on them. This is true for both QGIS 2.18.16 and 3.0.1. I searched online and could not find any English site that addresses this issue, but found a Japanese site that says to click on “Get contributed pack”.
    – Chad

    • please update QMS to 0.19.7 and try again, this should be fixed now

      • Chad says:

        Hi, I updated to 0.19.7 but still not working. Below is the error message that I got. Thank you though for trying to fix it.

        AttributeError: module ‘sys’ has no attribute ‘exc_type’
        Traceback (most recent call last):
        File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\settings_dialog.py”, line 127, in get_contrib
        ExtraSources().load_contrib_pack()
        File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 77, in load_contrib_pack
        latest_release_info = self._get_latest_release_info()
        File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 111, in _get_latest_release_info
        reply = self.__sync_request(url)
        File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 145, in __sync_request
        raise Exception(error)
        Exception: 3

        During handling of the above exception, another exception occurred:

        Traceback (most recent call last):
        File “C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\settings_dialog.py”, line 135, in get_contrib
        error_message = self.tr(‘Error on getting contrib pack: %s %s’) % (sys.exc_type, sys.exc_value)
        AttributeError: module ‘sys’ has no attribute ‘exc_type’

        Pythonバージョン: 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)]
        QGISバージョン: 3.0.1-Girona Girona, a86bec25eb

        Pythonパス:
        C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python
        C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python
        C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
        C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python/plugins
        C:\Program Files\QGIS 3.0\bin\python36.zip
        C:\PROGRA~1\QGIS3~1.0\apps\Python36\DLLs
        C:\PROGRA~1\QGIS3~1.0\apps\Python36\lib
        C:\Program Files\QGIS 3.0\bin
        C:\PROGRA~1\QGIS3~1.0\apps\Python36
        C:\PROGRA~1\QGIS3~1.0\apps\Python36\lib\site-packages
        C:/Users/username/AppData/Roaming/QGIS/QGIS3\profiles\default/python
        C:/Users/username/Documents/GIS DataBase/Project

        • Please try 0.19.8 again

          • Chad says:

            Thanks again Maxim, but sorry to say that it still doesn’t work. I get almost the same error message, but the lines are now 127, 87, 116, 145 and 135. Maybe I’m doing something wrong? This is what I did:
            – Under Plugins, Install from ZIP
            – Restart QGIS
            – Under Web go to QuickMapServices/ Settings/ More services / Get contributed pack

          • can we please move the discussion to our email info@nextgis.com? These comments aren’t really a discussion forum. We’ll follow with resolution here.

  25. Dany says:

    Hi, I’ve install quickmapservice on QGIS 3.01 but there are no entries in menu, no QuickMapService under internet .

  26. Alexander says:

    How can I avoid Shrinkage of the labels when printing the OSM Standard Map?

  27. Max says:

    Hi
    How to install QuickmapServices in my QGIS? please

  28. bh says:

    works well in version 3.2 QGIS?

    Saludos
    https://giseros.com

  29. Tim Orlov says:

    Добрый день,
    Почему-то слетело меню плагина. Нету меню в панели, Хотя утверждается, что модуль установлен. Переустановка модуля и программы не помогает. Заранее спасибо!

  30. Edelweiss Alcacio says:

    Hi, would you tell me what’s means the differents points (Green, red, yellow, black) in the window of plugin please, Thank you

    • Color indicates status of the service from our monitoring.
      green – service is ok
      yellow – service is working, but there might problems
      red – serives is not working

      • Edelweiss Alcacio says:

        Thank you very much for the answer, other question, the other day appeared me one point black in one string, I do not remember which but ¿it´s important or means somthing different of the other colors? Thank you again. 😉

  31. me says:

    does not work with qgis 3.4.1:
    _____
    Error calling method classFactory ( )
    TypeError: ‘QVariant’ object is not subscriptable
    Traceback (most recent call last):
    File “C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python\qgis\utils.py”, line 335, in startPlugin
    plugins[packageName] = package.classFactory(iface)
    File “C:/Users/…/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\__init__.py”, line 35, in classFactory
    return QuickMapServices(iface)
    File “C:/Users/…/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\quick_map_services.py”, line 72, in __init__
    self.locale = Locale.get_locale()
    File “C:/Users/…/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\plugin_locale.py”, line 30, in get_locale
    return QSettings().value(‘locale/userLocale’)[0:2]
    TypeError: ‘QVariant’ object is not subscriptable

  32. JR says:

    Hi,
    Just to clarify that the QuickMap plugin leverages Quickmap services from this product: http://www.quickmap.co.nz or it’s something different?

  33. Rodolfo Piedra says:

    Hi, I try update the plugin in Qgis v 2.14.9 Essen and a error message appears. It says that the plugin is broken, can you help me? Thanks

  34. Jonathan Gray says:

    Very simple question Qgis/Quickmapservice question. I am looking at an area and have the scale set at 1:50000 and using the “OpenTopoMap” and the labels look fuzzy. What is the best way to resolve this?

  35. mike cusi says:

    Hi, I am having the same problem as Chad (2 April 2018). How was this resolved?

    Thanks,
    Mike

  36. Mark Schmucker says:

    I’m writing a stand-alone app using Python and QGIS 2.14.9 (upgrading is not an option). I know how to create a QgsRasterLayer, but how can I add a tiled QMS layer programmatically? Do I need to add the plugin code to my Python path and instantiate a TileLayer? Or is there a better way?

    # Create a normal raster layer
    layer = QgsRasterLayer(url_with_params, ‘My Layer’, ‘wms’)
    # Now how to create a tiled QMS layer?
    layer = TiledLayer(?)

  37. Isabel Ferreira says:

    Tentei instalar o plugin quick map service, ele instala normalmente, mas ele não aparece em na menu web, ou em qualquer outra parte do qgis.
    Como posso resolver esse problema?

  38. Raphael Catarina says:

    Cada vez que vou tentar incluir mas um serviço, do google por exemplo, me da esse erro abaixo.

    AttributeError: module ‘sys’ has no attribute ‘exc_type’
    Traceback (most recent call last):
    File “C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\settings_dialog.py”, line 127, in get_contrib
    ExtraSources().load_contrib_pack()
    File “C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 87, in load_contrib_pack
    self._download_file(CONTRIBUTE_ZIP_DIRECT_URL, zip_file_path)
    File “C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 116, in _download_file
    reply = self.__sync_request(url)
    File “C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\extra_sources.py”, line 145, in __sync_request
    raise Exception(error)
    Exception: 99

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\quick_map_services\settings_dialog.py”, line 135, in get_contrib
    error_message = self.tr(‘Error on getting contrib pack: %s %s’) % (sys.exc_type, sys.exc_value)
    AttributeError: module ‘sys’ has no attribute ‘exc_type’

    Versão do Python: 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
    Versão do QGIS: 3.4.13-Madeira Madeira, 567300ccf1

    Caminho do Python:
    C:/PROGRA~1/QGIS3~1.4/apps/qgis-ltr/./python
    C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
    C:/PROGRA~1/QGIS3~1.4/apps/qgis-ltr/./python/plugins
    C:\Program Files\QGIS 3.4\bin\python37.zip
    C:\PROGRA~1\QGIS3~1.4\apps\Python37\DLLs
    C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib
    C:\Program Files\QGIS 3.4\bin
    C:\PROGRA~1\QGIS3~1.4\apps\Python37
    C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\site-packages
    C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\site-packages\win32
    C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\site-packages\win32\lib
    C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\site-packages\Pythonwin
    C:/Users/05838810920/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    C:\Users\05838810920\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\mmqgis/forms

  39. belete baychiken says:

    OpenTopoMap
    https://tile.opentopomap.org{z}/{x}/{y}.png
    I have done all the steps (right click on XZY tiles-new connection and writhe the name as OpenTopoMap and copy the url and pest it on the provided url space on the dialog box ) but it does not display any thing

  40. Jiří Fejfar says:

    Hi, thank you for QMS!
    I have QGIS 3.10.3-A Coruña and QMS map labels are shrinked to very small unreadable size when printed… is there any workaround?
    Thank you again, Jiří.

  41. Laila Mureb says:

    “Tentei instalar o plugin quick map service, ele instala normalmente, mas ele não aparece em na menu web, ou em qualquer outra parte do qgis.
    Como posso resolver esse problema?”
    My problem is exactly the same as hers: I have installed and checked the QMS plugin, but it doesn’t show at the Web bar, only in “Add layers”, and it doesn’t show Google satellite. I tried: uninstall and reinstall QMS, uninstall and reinstall QGIS, reinitiate my computer… everything. Why does this happen?

  42. Hicaro says:

    alguém sabe o que esta ocasionando esse erro no Qgis 3.10: Impossível carregar complemento ‘DsgTools’ Devido a um erro ao chamar o método Class Factory(). O mesmo acontece com o ‘quick_map_services

  43. Manuel says:

    Ola. como se puede cambiar el idioma de la visualizacion del mapa base ?en este caso de google

  44. ali says:

    I have added Quick Maps to QGIS 3.16.10, though I can only see OSM maps. If I search I can get other maps but can I add this to the dropdown menu to save time?

  45. Alex says:

    Olá, é possível obter bases do Google Earth mais antigas? Pois, na minha área de interesse a base mais recente é formada por mosaicos de duas épocas distintas (metade da área apresenta lavoura em crescimento e a outra metade apresenta a lavou colhida), deixando um visual feio.
    Verifiquei no Google Earth Pro que para a época 07/2020 (julho de 2020) o mosaico está consistente e assim gostaria de usar essa época e não a mais recente. Isso é possível?