The Basemap Gallery widget presents a gallery of basemaps and allows you to select one from the gallery as your app's basemap. The basemap can be user-defined or from your organization or portal. However, all basemaps added to the Basemap Gallery widget must have the same spatial reference. In addition, you have the option to synchronize the app at run time with the Basemap Gallery setting in your organization or portal.
In general, basemaps with tiling schemas that are different than that of the current basemap are excluded from the widget. If the default basemap is a dynamic layer, you can switch to either dynamic layers or ArcGIS tiled map service layers. If the default basemap is a tile layer, you can switch to either tile layers with the same tiling scheme or dynamic layers. For the best performance, it is recommended that all basemaps added to the gallery be cached (tiled) layers.
To be specific, see the following list of supported and unsupported basemaps in the Basemap Gallery widget.
- Unsupported basemaps
- Different spatial reference
- Tiled basemaps with different tiling schemas
- Switch from a dynamic basemap to Bing, OSM, or WMTS
- Switch from a dynamic basemap to a tiled image service basemap
- Supported basemaps
- Switch between tiled basemaps
- Switch between dynamic basemaps
- Switch from a dynamic basemap to a tiled map service basemap
- Switch from a tiled basemap to a dynamic basemap
Configure the Basemap Gallery widget
The Basemap Gallery widget can be set to open automatically when the app starts. To do so, click the dot on the widget to turn it dark green.
- Hover over the Basemap Gallery widget and click the small edit icon
The widget's configuration window appears. The basemaps from your organization or portal display in the configuration window with the default option of Always synchronize with the Basemap Gallery setting of the organization.
Although the basemaps from your organization or portal Basemap Gallery can have different spatial references, the configuration window only displays the basemaps sharing the same spatial reference as the web map currently loaded in Web AppBuilder. This is a known limitation.
- Optionally click change widget icon if you want to replace the default icon for this widget.
A file explorer window appears allowing you to browse to a local image file to use as the widget icon.
With the IE8 browser, the size of an uploaded image cannot exceed 21K due to an IE8 limitation.
- If you want the app to be consistent with the Basemap Gallery setting in your organization or portal at run time, keep the default option of Always synchronize with the Basemap Gallery setting of the organization.
- Alternatively, select Configure custom basemaps, which allows you to import the basemap from a group or create a new basemap.
- Click Import. When the Import Basemaps window appears, select a group from the drop-down menu and click the maps that you want to add to the widget. Click OK to close the window. Repeat this step if you want to add more basemaps from different groups.
- Click Create New. When the Add New window appears, provide a title and the URL of your map service, and click the thumbnail image to replace it with your own image file. Click Add URL to add an additional URL of a map service to the basemap if needed. Click OK to close the window. Repeat this step if you want to create additional basemaps.
The basemaps you configured are listed with the selected thumbnail.
Although a single basemap can contain multiple layers or services, the layers must have the same spatial reference.
- Click OK to close the window.
Basemaps added to the Basemap Gallery widget must have the same spatial reference.
Use the Basemap Gallery widget
Clicking the Basemap Gallery widget displays all the basemaps configured for this widget. Clicking one of the basemap thumbnails sets it as the active basemap for the app. Click the X in the upper-right corner of the Basemap Gallery window to close it.
If the basemap used in the web map is not included during the configuration, it will be added automatically when the widget opens.