Use URL parameters to modify maps

A map authored with Map Viewer contains a basemap; data layers; an extent; a legend; and navigation tools such as zoom, pan, place finders, and bookmarks. Many maps also contain interactive elements such as a basemap gallery, measure tools, pop-ups, and buttons for playing data over time.

As an alternative to creating maps with Map Viewer, you can create and modify maps directly with URL parameters.

For example, here's how you could construct a map with URL parameters that shows onshore wind farms in the United Kingdom.

https://myportal.domain.com/arcgis/home/webmap/viewer.html?basemapUrl=http%3A%2F%2Fservices.arcgisonline.com%2FArcGIS%2Frest%2Fservices%2FOcean_Basemap%2FMapServer&url=http%3A%2F%2Fservices.arcgis.com%2FWQ9KVmV6xGGMnCiQ%2Farcgis%2Frest%2Fservices%2FOnshore_Windfarms%2FFeatureServer&extent=-24.3161%2C45.2274%2C18.0911%2C63.5381

What to include in the URL

The URL always begins with the ArcGIS Enterprise portal home page, plus /webmap/viewer.html? and one or more of the query parameters listed below. To include more than one parameter, use an ampersand (&) to separate the parameters.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?center=20,45&level=4
Note:

If any of the resources in the URL parameter are provided as HTTP, the URL for the map should be HTTP as well. For added security, you should use an HTTPS URL if possible.

Encode the query parameters

All query parameters must be encoded. URL encoding ensures that valid characters are sent to the portal website. Encoding replaces invalid characters with % followed by their hex equivalent.

For example, here is an unencoded URL parameter:

basemapUrl=https://myportal.domain.com:7443/arcgis/rest/services/Ocean_Basemap/MapServer

Here is the same parameter encoded:

basemapUrl=http%3A%2F%2Fmyportal.domain.com:7443%2Farcgis%2Frest%2Fservices%2FOcean_Basemap%2FMapServer

Parameters within parameters must also be encoded, for example:

urls=https%3A%2F%2Fmyportal.domain.com:7443%2Farcgis%2Frest%2Fservices%2Fweb_mercator%2Ftrackline_gravity%2FMapServer%2Chttp%3A%2F%2Fmaps.ngdc.noaa.gov%2Frest%2Fservices%2Fweb_mercator%2Fhazards%2FMapServer%3Flayers%3Dshow%3A5%2C6

The web has many free sites and tools for generating encoded URLs. For readability, the rest of the examples in this topic are not encoded.

Open a saved map

To open a saved map created with Map Viewer, use webmap= and the unique ID of the map.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?webmap=8505192e747d440098523e9e64419710

Define the basemap

To define the basemap, set basemapUrl= to the layer. If a basemap is not defined, the default basemap will be the World Topographic basemap.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?basemapUrl=https://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer

Include a reference layer

To include a reference layer with the basemap, set basemapReferenceUrl= to the layer. The basemapReferenceUrl= parameter must be used in addition to the basemapUrl parameter.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?
basemapUrl=https://services.myportal.domain.com:7443/arcgis/rest/services/World_Imagery/MapServer
&basemapReferenceUrl=http://services.myportal.domain.com:7443/arcgis/rest/services/Reference/World_Boundaries_and_Places/MapServer

Define the operational layers

To define the operational layers that overlay the basemap, use webmap=, layers=, url=, or urls=. If the layer is an item in the website, use layers= so you get all the layer configurations. If the layer isn't in the website, use url= or urls=.

The layers= parameter accepts a single item ID or multiple item IDs. For multiple layers, use a comma-separated list of IDs (&layers=<itemID>,<itemID>,<itemID>).

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?layers=a79a3e4dc55343b08543b1b6133bfb90,a068913914cd4fecb302b9207a532d1a

The url= parameter accepts a single layer URL.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?
     url=https://services.myportal.domain.com:7443/arcgis/rest/services/Demographics/USA_Population_Density/MapServer

Use urls= to include more than one layer. Separate layers with a comma. The map extent is based on the last layer in the list or the slowest one to load. To zoom to a specific extent, include the extent= parameter.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?urls=https://services.myportal.domain.com:7443/arcgis/rest/services/web_mercator/trackline_gravity/MapServer,https://maps.ngdc.noaa.gov/rest/services/web_mercator/hazards/MapServer?layers=show:5,6,12&extent=5,45,10,50

As of ArcGIS 10.5, you can use the ?layers operation on a feature service.

For example:

http://myportal.domain.com/arcgis/home/webmap/viewer.html?url=https://sampleserver6.arcgisonline.com/arcgis/rest/services/RedlandsEmergencyVehicles/FeatureServer?layers=show:1,2

Define the scale level and center the map

Scale is automatically set for a map in Map Viewer when you use the webmap or find parameter. If you use the webmap parameter, the map is automatically zoomed to the full extent of the map, unless other URL parameters such as level and center or extent are used to override the web map scale. If you use the find parameter, the map is automatically zoomed to the best extent of the found location.

To define a specific scale level, use the center and level parameters. The level parameter accepts the level ID of the cache scale as listed in the REST service endpoint of the tiled basemap. The resolution is inversely related to the scale. The level parameter is only supported for tiled basemaps, not for basemaps created from dynamic map services and other nontiled data.

To center the map at a particular location, set center using geographic coordinates (x,y) or projected coordinates (x,y,WKID). You can use commas or semicolons as separators. Use semicolons if your numbers use colons as their decimals.

Note:

The level and center parameters must be used together. The level parameter is ignored if it's used on its own.

Geographic coordinates example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?center=20,45&level=4

Projected coordinates example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?center=500000,5500000,102100&level=4

Define the extent

To define the extent of the map, use extent to define the extent of the map. The extent parameter accepts geographic coordinates (GCS) as MinX,MinY,MaxX,MaxY or projected coordinates (PCS) as MinX,MinY,MaxX,MaxY,WKID. You can use commas or semicolons as separators. Use semicolons if your numbers use colons as their decimals.

Geographic coordinates example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?extent=-117.20,34.055,-117.19,34.06

Projected coordinates example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?extent=-13079253.954115,3959110.38566837,-12918205.318785,4086639.70193162,102113

Set the layer visibility

To set the visibility of layers in the map, use layers=show:.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?url=https://otherportal.domain.com:7443/arcgis/rest/services/BloomfieldHillsMichigan/Parcels/MapServer?layers=show:1,2

Find a location or feature to open the map

To find a location or feature that is used to open the map, use find. The map is automatically zoomed to the closest match and a callout marker is added to the map. The find parameter accepts single-line addresses, partial addresses (such as city only or country only), place-names, and longitude-latitude coordinates.

The following example uses a single-line address.

https://myportal.domain.com/arcgis/home/webmap/viewer.html?find=380 new york st,redlands,ca

Add a point

To add a point to the map, use marker=<x>,<y>. The point is added to a new map notes layer at the specified x,y location. You can also include the following optional properties:

  • <wkid>—Spatial reference of the x,y coordinates added to the map. If you do not include a WKID, GCS coordinates are used.
  • <encoded title>—Title of the point pop-up. If you do not include a title, the pop-up will be empty.
  • <encoded icon URL>—Symbol for the point. If you do not include a symbol, a blue marker symbol is used.
  • <encoded label>—Label next to the point symbol.

Considerations

Keep the following in mind when adding a point to the map:

  • <x>,<y> are required.
  • Be sure to encode the title, icon, and label parameters.
  • You must add properties in this order: marker=<x>,<y>,<wkid>,<encoded title>,<encoded icon URL>,<encoded label>.
  • You can use commas or semicolons as separators. Use semicolons if your numbers use colons as their decimals.
  • Use empty values. Do not use spaces. For example, if you want to specify a label and none of the other optional properties, add the label as the sixth parameter with empty values for the others (x;y;;;;label).
  • If you want the map to zoom in (in addition to centering on the point), include the level parameter.
  • You can edit and save the map notes layer as a map or item.
  • Organizational accounts can use the point to get directions and perform analysis.

Example

The following example uses semicolon separators:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?marker=-79.234826;38.147884;;Race start and finish;;Grindstone 100 Ultra Marathon&level=7

Hide the Details pane

To hide the Details pane of Map Viewer, use mapOnly=true.

For example:

https://myportal.domain.com/arcgis/home/webmap/viewer.html?webmap=b487d81007294fb5a0be9e10a411f2d0&mapOnly=true