Configure Custom Basemaps (optional)

Including all Bing basemaps or all ArcGIS Online basemaps might not be preferable for your business. You have the option of configuring a subset of one or the other, both, or to provide your own fully custom basemap with such a subset.

Considerations while Building a Custom Basemap

Before starting the process of creating a custom basemap, consider these requirements:

  • You are allowed one projection for all basemaps. In other words, different basemaps cannot have different projections.

    • ArcGIS Online, Bing Maps, and Google Maps use WGS Web Mercator as their projection. Thus, if you intend to make these available to your users, then your custom basemap must also use WGS Web Mercator.

    • If your custom basemap uses a projection other than WGS Web Mercator, you must deactivate basemaps provided by ArcGIS Online, Bing Maps, Google Maps and any other services that do not match your projection.

  • You must use cached tile services. It cannot draw dynamically from the data.

  • By default, the maximum zoom scale provided by the tiling scheme is 1:1,128. Most likely, your users need to zoom in beyond that. The easiest way to provide lower levels is to import the tiling scheme from an ArcGIS Online layer, then append additional scales.

  • If you want a feature to be visible at a certain scale, ensure it is actually turned on and visible at that scale in the published service. In other words, if you publish a service while buildings are turned off, they are not visible in the resulting service regardless of scale.

    IMPORTANT: For performance reasons, do not make all features visible at all scales. The actual tiles in the scheme become quite small and voluminous at very close scales. If your intent is to allow users to zoom in very close on the map (for example, to read a cross-section annotation), consider having a custom basemap for that exact purpose with only a few features turned on at that zoom level.

Create a Custom Basemap

Adding a custom basemap is a great way to help your users get the most out of Wavepoint. You have the opportunity to add specific features, control zoom levels, and make the map more recognizable and relatable for field crew.
  1. In ArcMap, add the features to include in the basemap.
  2. Set symbology and scale visibility for all features, as needed.
  3. Click File > Share As > Service to start the process.
  4. Click Publish a service, then click Next.
  5. Choose or establish your server connection, then click Next.
  6. In the Service Editor dialog, set Capabilities:
    1. The only required capability for a basemap is Mapping.

    2. Only the Mapping operation required is Map.

  7. In the left-hand panel, click Caching.
  8. For Draw this map service, choose Using tiles from a cache.

  9. If a maximum scale level of 1:1,128 is acceptable, you can simply use the tiling scheme from ArcGIS Online/Bing Maps/Google Maps.

  10. To append additional zoom scales:
    1. Change the Tiling Scheme to An existing cached map/image service.

    2. In the Load Tiling Scheme dialog, connect to ArcGIS Online, load an existing scheme such as World_Street_Map, then click Add.

    3. Append additional scale levels below 1:1,128

      TIP: You could take this opportunity to delete minimum scales you do not require.
  11. Proceed through the remaining steps to Publish the service.

    Publishing this tile cache produces a warning about size.

    Click OK to ignore the warning and proceed to publish.

  12. It takes some time to cache the tile service. To check the progress:
    1. In the ArcCatalog pane in ArcMap, navigate to your new basemap.
    2. Right-click the basemap name and choose View Cache Status
    3. When the Summary is at 100% present, the process is finished.
  13. Once the tiling cache is complete, you can add the custom basemap to the web.config file.
  14. Open Wavepoint to test your new basemap.


In the Web.config, use this key to specify custom basemaps. The x in basemap.x can be anything you want as long as it is unique among each basemap.x entry in the Web.config.

Each basemap.x key contains the following five elements:

  • title: In the Select your basemap window in Wavepoint, this required element controls the label beneath the basemap thumbnail image.

  • url: For custom basemaps, this specifies the location of the basemap service.

  • type: For Bing basemaps, this value specifies the basemap. For ArcGIS Online and Image Service basemaps, you must specify the type and a key.

    • Bing basemap types:

      • BingMapsRoad

      • BingMapsAerial

      • BingMapsHybrid

    • ArcGIS Online basemap type (except OpenStreetMap):

      • agol

    • ArcGIS Online basemap type (OpenStreetMap only):

      • OpenStreetMap

    • ArcGIS Image Service basemap type:

      • ArcGISImageServiceLayer

key: This is required for all ArcGIS Online basemaps except the OpenStreetMap. Leave it blank for Bing basemaps. For each custom basemap, make this value a unique identifier, such as a GUID, that is also unique to this configuration file. This identifier is not the same as the object GUID listed in the basemap service. Also, ensure the value you designate isn't a duplicate of any of the keys listed below.

ArcGIS Online basemap keys:



Imagery with labels


Light Gray Canvas


National Geographic






Terrain with Labels




thumbnail: In the Select your basemap window in Wavepoint, this is the URL that controls the basemap's thumbnail image.


<add key="basemap.1" value="{title:'My Streets', url:'', type:'OpenStreetMap', key:'', thumbnail:''}" />
<add key="basemap.2" value="{title:'Hybrid', url:'', type:'BingMapsHybrid', key:'', thumbnail:''}" />
<add key="basemap.3" value="{title:'Light Gray', url:'', type:'agol', key:'8b3b470883a744aeb60e5fff0a319ce7', thumbnail:''}" />
<add key="basemap.4" value="{title:'Imagery', url:'', type:'agol', key:'86de95d4e0244cba80f0fa2c9403a7b2', thumbnail:''}" />


Display a particular Bing basemap

<add key="basemap.1" value="{title:'Bing Roads', url:'', type:'BingMapsRoad', key:'', thumbnail:''}"/> 

Display a particular ArcGIS Online basemap

<add key="basemap.2" value="{title:'Light Gray', url:'', type:'', key:'8b3b470883a744aeb60e5fff0a319ce7', thumbnail:''}" />

Display OpenStreetMap

<add key="basemap.3" value="{title:'Open Street Map', url:'', type:'OpenStreetMap', key:'', thumbnail:''}"/> 

Display a custom basemap that uses an ArcGIS Server Image Service

<add key="basemap.1" value="{title:'YOUR_TITLE', url:'http://YOUR_ARCGIS_SERVER/arcgis/rest/services/YOUR_IMAGE_SERVICE/ImageServer', type:'ArcGISImageServiceLayer', key:'1234567', thumbnail:'http://YourThumbnail.png'}" /> 
IMPORTANT: Using the type parameter (type=’ArcGISImageServiceLayer’) is imperative for this to succeed.

Display a custom basemap

<add key="basemap.4" value="{title:'Custom', url:'http://My URL/MapServer', type:'', key:'123456789', thumbnail:''http://MyURL/thumbnail.png'}"/> 
QR code for this page

Was this helpful?