Users might need to temporarily view data through a different ‘lens’ to gain insights into a problem and make a better decision.
Users typically work with a map that is optimized for the data and the workflow. The builder has therefore chosen a basemap that best fits this purpose. Sometimes users need to deviate from the anticipated workflow and see an alternative view of the map that varies in content or detail. This alternative view helps making better decisions or clarify doubts the original basemap wasn’t able to convey and communicate.
Under certain circumstances the given basemap might not be sufficient or relevant so that the user needs to toggle to a different view, e.g. from a very light-weight gray basemap to a more detailed streets basemap or from the default streets basemap to satellite imagery showing real-world features. If this situation is anticipated or part of the workflow then provide a Basemap Toggle. Examples include verification of land usage, e.g. multiple users have reported that a certain area of land is grassland while the topographic map reports something else, estimating the accessibility of a stretch of road marked as dirt road, understanding the exact location of building structures on property parcels, etc.
Let the user choose from an alternative view that is substantially different from the default view. Provide a toggle control like a radio selection or a button bar, position it either in a corner of the map or as part of a drawer navigation. Adding a thumbnail of the alternative basemap will help users understand the function of the toggle and anticipate the expected outcome of clicking on it. The thumbnail image can either be a static representation or a dynamic map that changes to the extent of the current viewport after the user has zoomed or panned the map. Synchronizing the extent of the toggle with the map is distracting to the user and not recommended. A novel approach is to use the toggle like a magnifying glass that shows the exact pixels of the underlying map but with a different basemap. This works well if the extent of the toggle map changes after the map is done changing its extent, consider adding a subtle fade animation to smooth the transition.
If the anticipated need for a basemap toggle is part of a workflow (task) then it is worth considering providing the basemap toggle functionality as part of the workflow itself instead of a globally positioned, permanent control on the map.