Use the ArcGIS Basemap Styles service to display ArcGIS Basemap styles with ArcGIS SDKs and open source libraries.
ArcGIS Basemap styles
The Basemap Styles service supports styles in the ArcGIS Basemap style family. The styles reference data from Esri and other authoritative data providers such as
TomTom, Garmin, FAO, NOAA, USGS, OpenStreetMap (OSM) contributors, and the GIS User Community.
The styles are categorized into the following groups:
- Streets: Road networks, urban, and community features e.g. arcgis/streets,arcgis/navigation
- Topography: Natural terrain, land and water features e.g. arcgis/outdoor,arcgis/topographic
- Satellite: Satellite imagery and labels e.g. arcgis/imagery
- Reference: Minimal geographic features such as boundaries and place labels e.g. arcgis/light-gray,arcgis/dark-gray
- Creative: Alternative cartographic designs e.g. arcgis/newspaper
See all of the styles below.
How to display an ArcGIS Basemap style
The general steps to display a basemap style are:
- Set the service URL, path and query parameters:
- Service URL
- https.- ://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/{style - _response}/{style - _family}/{style - _name}?{parameters}&token= - <ACCESS - _TOKEN - > 
 
- Path parameters
- Style response: stylesorwebmaps
- Style family: arcgis
- Style name: For example streets,imagery,navigation,light-gray, oroutdoors. See all names below.
 
- Style response: 
- Query parameters
- Style preferences: language,worldview, andplaces.
- Access token: token
 
- Style preferences: 
 
- Service URL
- Set the access token either as an authorization header or query parameter.
- Display the style with a client API. See the Code examples.
- Display Esri and data attribution.
To learn more about the service parameters, access tokens, and attribution requirements, go to the Introduction to the ArcGIS Basemap Styles service.
Styles
Code examples
Get all style names
This example shows how to use the ArcGIS Basemap Styles service /self request to return all available styles. The styles are filtered by provider === "arcgis" to get the styles in the ArcGIS  Basemap style family.
const selfCallURL = "https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/self";
fetch(selfCallURL, {method: "GET"})
  .then(response => response.json())
  .then(results => {
    const arcGISStyles = results.styles.filter(style => style.provider === "arcgis");
    console.log(arcGISStyles);
  });Display an ArcGIS Basemap style
This example shows how to use the service as a data source for a basemap using the Navigation style from the ArcGIS Basemap style family. To see all of the styles, go to the style table above.
Steps
- Create a map.
- Reference a style from the Basemap Styles service.
- Add the basemap to the map.
      const navigation = new Basemap({
          style: new BasemapStyle({
            id: "arcgis/navigation" //arcgis/navigation, //arcgis/topographic
          })
        });
      const map = new Map({
        basemap: navigation,
        constraints: {
          snapToZoom: false,
        },
      });
Change the place label language
The Basemap Styles service displays the English language labels by default. However, you can update the place label language by using the language code provided by the service. To render localized place labels, set the language parameter to local. The localized labels will render after zoom level 10.
For a list of available languages, go to Basemap Styles service > Languages
Steps
- Create a map or scene.
- Reference a style from the Basemap Styles service.
- In the style URL, set the languageparameter with a language code.
- Add the basemap to the map.
    const updateLanguage = (languageCode) => {
      arcgisMap.basemap = new Basemap({
        style: new BasemapStyle({
          id: "arcgis/light-gray",
          language: languageCode // e.g. "ar" for Arabic, "ja" for Japanese
        })
      });
    }
Display a basemap style with worldview
The Basemap Styles service displays country boundaries and labels using the default global worldview. This example shows how to display basemap borders and labels based on a specific view of a country. Worldviews are only available for some ArcGIS basemap styles such as navigation, streets, and community. OSM styles are not supported.
Steps
- Create a map or scene.
- Reference a basemap layer from the Basemap Styles service.
- In the style URL, set the worldviewparameter with a supported worldview name.
- Add the basemap to the map.
This example uses the arcgis/light-gray map style and sets the worldview for boundaries and labels to morocco. To find all worldview options, go to Basemap Styles service.
const worldview = new Basemap({
  style: new BasemapStyle({
    id: "arcgis/light-gray", //arcgis/navigation, //arcgis/topographic
    worldview: "morocco"
  });
});
const map = new Map({
  basemap: worldview,
  constraints: {
    snapToZoom: false,
  },
});Display a basemap style with places
Some ArcGIS Basemap styles such as navigation allow you to display places at high zoom levels by setting the places parameter to all or attributed. To learn more about which styles support places and how to display them, go to Basemap places.
Steps
- Create a map or scene.
- Reference a style that supports places. For example navigationorstreets.
- In the style URL, set the placesparameter toallorattributed.
- Add the basemap to the map.
    const allPlaces = new Basemap({
      style: new BasemapStyle({
        id: "arcgis/navigation",
        places: "all"
      })
    });
    const map = new Map({
      basemap: allPlaces,
      constraints: {
        snapToZoom: false,
      },
    });










































