Skip To Content ArcGIS for Developers Sign In Dashboard

What are web maps?

Web maps are 2D maps that can be shared, edited, and displayed online. They are used in ArcGIS Online, ArcGIS Pro, Navigator, Collector, Storymaps, Esri’s configurable apps, apps made with either the Runtime SDKs or the JavaScript API, and many other products.

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

Why use web maps?

Web maps reduce development time without compromising a developer's flexibility because they use the same styling, pop-ups, labeling, feature layers, and rendered operational layers when shared and consumed across the entire 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 JavaScript API or imported into ArcGIS Pro.

The Web Map Specification

The Esri Web Map Specification is a JSON specification which provides a light-weight standard 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 Online or ArcGIS Enterprise.

Every web map has a unique 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:

https://www.arcgis.com/sharing/rest/content/items/6712da5c872c44deaf24499e6f6c2d2b/data

The truncated JSON response for this REST call is below.

{
    "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.2",
    "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.

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

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.

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 ArcGIS 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 SDK.

Display a web map in Android, iOS, Java, macOS, .NET, or Qt.

ArcGIS Configurable apps

You can also display web maps using configurable apps in ArcGIS Online.

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

Alternatively, browse through all available configurable apps.