Skip to content

Introduction to Web Maps

What are web maps?

A web map is a JSON object that contains the settings for a map. It it typically stored in ArcGIS Platform where it can be accessed by a number of different applications. Web maps are defined by the Web Map Specification and contain configuration settings for the map extent, basemap, layers, layer styles, pop-ups and more.

An example web map on ArcGIS Online is Parks and Open Space, Trails, and Trailheads in Santa Monica.

Why use web maps?

Web maps can be created in ArcGIS Online and ArcGIS Pro, and displayed in many other applications such as Navigator, Field Maps, Storymaps, Esri’s configurable apps, and apps built with the ArcGIS APIs and SDKs. When an application loads a web map, it automatically loads previously saved configuration settings, making it easy to develop applications and share 2D maps across the ArcGIS platform.

For example, a web map created and stylized to use pop-ups in ArcGIS Online can be consumed by a REST API request, and then displayed on a web page with the ArcGIS API for JavaScript or imported into ArcGIS Pro.

The Web Map Specification

The Esri Web Map Specification is a JSON specification that defines the structure and contents of a web map for sharing, creating, editing, visualizing, and consuming web maps across the entire ArcGIS Platform.

As JSON files, web maps can be hosted on an ArcGIS Server and consumed with the REST API. Technically, web maps are Content Items stored in ArcGIS Platform, ArcGIS Online, or ArcGIS Enterprise.

Every web map has a unique item ID, and may be made public or restricted to certain groups and users.

For example, the Santa Monica web map is public and has the unique ID: 6712da5c872c44deaf24499e6f6c2d2b.

You can view this web map in JSON format by making a REST API Content Item operation request with the following URL:

Use dark colors for code blocksCopy
1 https://www.arcgis.com/sharing/rest/content/items/6712da5c872c44deaf24499e6f6c2d2b/data

The truncated JSON response for this REST call is below.

Use dark colors for code blocksCopy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 {  "operationalLayers": [  {  "id": "Boundary_1356",  "layerType": "ArcGISFeatureLayer",  "url": "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Boundary/FeatureServer/0",  "visibility": true,  "opacity": 1,  "title": "Boundary",  "itemId": "30cf3b4c11c5408d87f255ba4e9aa611",  "disablePopup": true  },  {  "id": "Parks_and_Open_Space_2992",  "layerType": "ArcGISFeatureLayer",  "url": "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Parks_and_Open_Space/FeatureServer/0",  "visibility": true,  "opacity": 0.51,  "title": "Parks and Open Space",  "itemId": "f2ea5d874dad427294641d2d45097c0e",  "layerDefinition": {  "drawingInfo": {  "renderer": {  "visualVariables": [  {  "type": "sizeInfo",  "target": "outline",  "expression": "view.scale",  "valueExpression": "$view.scale",  "stops": [  {  "size": 1.5,  "value": 9501  },  /* ... */  ]  }  ],  "type": "uniqueValue",  "field1": "TYPE",  "uniqueValueInfos": [  {  "value": "Local Park",  "symbol": {  "color": [  158,  85,  156,  255  ],  "outline": {  "color": [  153,  153,  153,  128  ],  "width": 0.75,  "type": "esriSLS",  "style": "esriSLSSolid"  },  "type": "esriSFS",  "style": "esriSFSSolid"  },  "label": "Local Park"  },  /* ... */  ]  }  },  "minScale": 4622325,  "maxScale": 0  },  "popupInfo": {  "title": "Parks_and_Open_Space",  "fieldInfos": [  {  "fieldName": "FID",  "label": "FID",  "isEditable": false,  "tooltip": "",  "visible": true,  "format": {  "places": 0,  "digitSeparator": true  },  "stringFieldOption": "textbox"  },  /* ... */  ],  "description": null,  "showAttachments": true,  "mediaInfos": []  }  },  {  "id": "Trails_7558",  "layerType": "ArcGISFeatureLayer",  "url": "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trails/FeatureServer/0",  "visibility": true,  "opacity": 1,  "title": "Trails",  "layerDefinition": {  "drawingInfo": {  "renderer": {  "type": "uniqueValue",  "field1": "USE_BIKE",  "uniqueValueInfos": [  {  "value": "Yes",  "symbol": {  "color": [  26,  26,  26,  255  ],  "width": 0.9,  "type": "esriSLS",  "style": "esriSLSDot"  },  "label": "Bikes"  },  {  "value": "No",  "symbol": {  "color": [  230,  0,  0,  255  ],  "width": 0.9,  "type": "esriSLS",  "style": "esriSLSDot"  },  "label": "No Bikes"  }  ]  }  }  },  "popupInfo": {  "title": "Trails_0",  "fieldInfos": [  {  "fieldName": "OBJECTID",  "label": "OBJECTID",  "isEditable": true,  "tooltip": "",  "visible": false,  "format": {  "places": 0,  "digitSeparator": true  },  "stringFieldOption": "textbox"  },  /* ... */  ],  "description": null,  "showAttachments": true,  "mediaInfos": []  }  },  {  "id": "Trailheads_8053",  "layerType": "ArcGISFeatureLayer",  "url": "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads/FeatureServer/0",  "visibility": true,  "opacity": 1,  "title": "Trailheads",  "layerDefinition": {  "drawingInfo": {  "renderer": {  "type": "simple",  "symbol": {  "angle": 0,  "xoffset": 0,  "yoffset": 0,  "type": "esriPMS",  "url": "http://static.arcgis.com/images/Symbols/NPS/npsPictograph_0231b.png",  "imageData": "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",  "contentType": "image/png",  "width": 10.5,  "height": 10.5  }  }  }  },  "popupInfo": {  "title": "Trailheads",  "fieldInfos": [  {  "fieldName": "OBJECTID",  "label": "OBJECTID",  "isEditable": true,  "tooltip": "",  "visible": false,  "format": {  "places": 0,  "digitSeparator": true  },  "stringFieldOption": "textbox"  },  /* ... */  ],  "description": null,  "showAttachments": true,  "mediaInfos": []  }  }  ],  "baseMap": {  "baseMapLayers": [  {  "id": "VectorTile_1818",  "type": "VectorTileLayer",  "layerType": "VectorTileLayer",  "title": "World Topographic Map",  "styleUrl": "https://www.arcgis.com/sharing/rest/content/items/86d5ed4b6dc741de9dad5f0fbe09ae95/resources/styles/root.json",  "itemId": "86d5ed4b6dc741de9dad5f0fbe09ae95",  "visibility": true,  "opacity": 1  }  ],  "title": "World Topographic Map"  },  "spatialReference": {  "wkid": 102100  },  "authoringApp": "WebMapViewer",  "authoringAppVersion": "7.3",  "version": "2.15",  "applicationProperties": {  "viewing": {  "routing": {  "enabled": true  },  "basemapGallery": {  "enabled": true  },  "measure": {  "enabled": true  }  }  } }

Creating a web map

While you can create web maps with your favorite text editor, Esri provides many tools to quickly create web maps.

ArcGIS Online

The easiest way to author a web map is to use ArcGIS Online's Map Viewer application.

You can refer to the ArcGIS Online documentation or the create a web map ArcGIS tutorial to get started.

ArcGIS Pro

ArcGIS Pro supports authoring and sharing web maps. Refer to the author a web map topic in the ArcGIS Pro help.

ArcGIS API for JavaScript

See the Save a web map sample. Authoring web maps with the ArcGIS API for JavaScript is planned for a future release.

ArcGIS Maps SDKs for Native Apps

The Native Maps SDKs allow you to create and share web maps. Refer to the documentation of each individual SDK to get started.

Create and save a web map in Kotlin, Swift, .NET, Qt, and Flutter.

Displaying a web map

All ArcGIS APIs and SDKs can display web maps. Because they all share a common reference with the Web Map Specification, the map will render the same on all devices.

ArcGIS API for JavaScript

Refer to the display a web map tutorial for a short walk-through on how to display a web map with the ArcGIS API for JavaScript.

ArcGIS Maps SDKs for Native Apps

All Native Maps SDKs have the capability to render a web map. Refer to the ArcGIS tutorials for a short walk-through on how to display a web map in your selected API.

Display a web map in Kotlin, Swift, .NET, Qt, or Flutter.

ArcGIS Configurable apps

You can also display web maps using app templates and builders in ArcGIS Online.

To create an application, see the tutorial to create a map in ArcGIS Online.

Alternatively, browse through all available configurable apps.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.