Web based basemaps can provide an excellent context for a mapping project. Map services such as OpenStreetMap and Bing provide tile services that can be used to fill in details such as topography, road networks, hydrography and satellite imagery for a map without having to provide your own set of base features.
Quick note on licensing
While QGIS is a Free and Open Source Software (FOSS) package, and many of the plugins that are available for it are as well, you must be careful to follow the license agreement for the base map layers that you are displaying.
For example, Google Maps provides a map tiling service for non-commercial use only.
Installing the QuickMapServices plugin
Click the “Plugins” menu item in the top menu bar and select the “Not Installed” tab from the left pane of the plugins manager. Search for “quickmapservices”.
Select the plugin and install it.
Adding basemaps to your project
QuickMapServices will show up as a new toolbar on your main toolbar list. There are three globe icons in it. Selecting the middle icon you will see a drop down with all the available basemap providers.
Select whichever basemap you want and it will be added to your map canvas immediately.
Editing map tile layers with API keys
Some map service providers require an API key to be used in conjunction with their map tiles.
If this is the case, in the browser window on the left side of QGIS you will see an option for XYZ Tiles. Expand this item to see the different map tile services you have added using QuickMapServices. Right click your map tile service and select “Edit”
Enter your api key into the URL box by adding the following to the end of the URL:
Adding 3rd party map tile services
If you have your own basemap service, or one you prefer to use in XYZ format. You can add it to your project by adding it to the XYZ tiles in the browser pane.
Right click the XYZ Tiles item in the browser window and select “New Connection”