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 Runtime SDKs

The ArcGIS Runtime 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 Android, iOS, Java, .NET, and Qt.

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 Runtime SDKs

All ArcGIS Runtime 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 Android, iOS, Java, .NET, or Qt.

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.