Types of mapping apps

Alt text

In general, there are three types of mapping apps you can build with ArcGIS location services. Each has its own development pattern:

  1. Map apps: Custom apps built from the ground up.
  2. Map apps using web maps: Custom apps that use a predefined web map.
  3. Map apps from builders: Apps created from builders that use a predefined web map.

Map apps

Map apps are custom mapping applications built from the ground up using a client-side mapping library and location services. They contain all of the functionality required to access location services, style and display geographic data, provide mapping functionality, and support user interactions. The services you use depend on the functionality required for your application.

Build this type of application when you want to:

  • Implement all of the map creation and styling code manually.
  • Use ArcGIS Maps SDKs, open source libraries, or ArcGIS API for Python.
  • Create a custom user interface.
  • Integrate with an existing application or system.
  • Implement specific mapping and location service functionality.
  • Host the application in your own infrastructure.

The general steps to build a map app are:

  1. Reference a client-side mapping library (ArcGIS Maps SDKs, open source libraries, or scripting APIs).

  2. Implement a type of authentication to access location services and data services.

  3. Add mapping functionality.

    For example:

    • Set the initial map location and zoom level
    • Add a basemap
    • Add data layers
    • Style data layers
    • Configure popups
  4. Support user interactions.

  5. Display the map.

Example

This example displays a 2D and 3D map built with ArcGIS Maps SDK for JavaScript. It uses the satellite style from the basemap styles service and a feature service with hurricane wind speed data. A renderer is used to style and create a data-driven visualization of the hurricane locations and windspeeds.

Web map

Map app displaying the hurricane wind speeds in 2D and 3D.

Map apps using web maps

Map apps using web maps are custom mapping applications that contain all of the code and functionality required to display a predefined web map or web scene. The main difference with building this type of application is you have to create a web map or web scene first, and then you write a custom application to load and display it.

To create a web map or web scene, you use tools such as Map Viewer, Scene Viewer, or ArcGIS Pro. The tools allow you to configure all of the map and layer settings interactively such as the layer order, style, and popups. The process of creating, configuring, and saving a web map is also known as authoring a web map.

After you create a web map, you can use ArcGIS Maps SDKs to load it and take advantage of all of the configured settings. Web maps and web scenes are stored in your portal.

Creating a web map for an application greatly reduces the amount of code you need to write and the time it takes to display a fully styled map. To learn more about authoring web maps, go to Create a web map and Style layers in a web map.

Build this type of application when you want to:

  • Create and configure the map or scene for your app interactively.
  • Use ArcGIS Maps SDKs.
  • Add and style all data layers interactively.
  • Configure popups for all data layers interactively.
  • Update the map remotely without changing your code.
  • Provide secure access to the map and layers through the web map and ArcGIS portal.
  • Host the application in your own infrastructure.

The general steps to build a map app using web maps are:

  1. Create a web map: Sign in to your portal and use tools such as Map Viewer, Scene Viewer, or ArcGIS Pro to create and configure a web map or web scene.

    The most common configurations are:

    • Initial map location and zoom level
    • Basemap style
    • Data layers
    • Data layer styling
    • Data layer popups
    • Sharing level
  2. Display the web map: Use the ArcGIS Maps SDKs to access and display the web map.

    • Reference a client-side mapping library (ArcGIS Maps SDKs only).
    • Get an access token to access the web map, location services, and data services.
    • Access your portal and load and display the web map or web scene.

Example

This web map was created and configured with the Map Viewer to display the United States with the dark gray basemap style. It also contains a USA Weather data layer with styles. The popup is also configured to show specific fields when features are clicked.

Web map

Map Viewer used to create and style layers in a web map.

Map apps from builders

Low-code/no-code map apps are apps built using app builders such as Instant Apps or ArcGIS Experience Builder. In most cases, you need to create a web map or web scene before you create an app. This provides the geographic context and data for the builder. Once you have a web map, you can use any of the builders to create and save an application.

When using the builders you can configure many settings such as the title, description, and visible map controls. The main difference with this type of application is that you can only configure the features available in the builder settings and the application is not customizable. Some builders such as ArcGIS Experience Builder do allow you to build custom extensions however. Another main difference is the application is stored and hosted in your portal as an application item. Therefore, you do not need to implement a web server or infrastructure to host the application.

Build this type of application when you want to:

  • Create and configure an application interactively without code.
  • Create and configure the map or scene interactively.
  • Store and access the application in an ArcGIS portal.
  • Provide secure access to the application through an ArcGIS portal.
  • Update the application remotely.

The general steps to build this app are:

  1. Create a web map: Use tools such as Map Viewer, Scene Viewer, or ArcGIS Pro to create and configure a web map or web scene.

    The most common configurations are:

    • Set the initial map location and zoom level
    • Select the appropriate basemap style
    • Add data layers
    • Style data layers
    • Configure popups
    • Set the sharing level
  2. Create a low-code/no-code application: Use Instant Apps or ArcGIS Experience Builder to create an app.

    The most common configurations are:

    • Title
    • Description
    • Background colors
    • Window locations
    • Web map controls
    • Mapping functionality
  3. View the application: Use a web browser to view the application.

    • Access the application in your portal.
    • Share the application link.

Example

This web map was created and configured with the Map Viewer to display the United States with the dark gray basemap style. It also contains a USA Weather data layer with styles. The popup is also configured to show specific fields when features are clicked.

Web map

Map Viewer used to create and style layers in a web map.

Choose a type of application

The following table lists the types of mapping apps you can create with different development use cases.

Map appsMap apps using web mapsMap apps from builders
You have ArcGIS Location Platform.
You have ArcGIS Online.
You have ArcGIS Enterprise.111
You want to use ArcGIS Maps SDKs.2
You want to use open source libraries.
You don't want to write code.
You want to programmatically style your maps and layers.
You want to interactively style your maps and layers by using web maps.
You need a highly specialized user interface.2
You want to update the map for your application without making code changes.
You want to host your application in an ArcGIS portal.
You want to implement API key authentication.
You want to implement user authentication.
Full supportPartial supportNo support
  • 1. Can create apps but you cannot access ArcGIS location services with an ArcGIS Enterprise account. For more information, see the FAQ.
  • 2. Templates are provided but the ArcGIS Experience Builder interface can be extended with custom widgets.

Choose a mapping library

The following SDKs and APIs can be used to build different types of mapping applications.

Map appsMap apps using web mapsMap apps from builders
ArcGIS Maps SDK for JavaScript1
ArcGIS Maps SDK for .NET
ArcGIS Maps SDK for Kotlin
ArcGIS Maps SDK for Swift
ArcGIS Maps SDK for Java
ArcGIS Maps SDK for Qt
ArcGIS API for Python
ArcGIS REST JS
Esri Leaflet
MapLibre GL JS
OpenLayers
CesiumJS
Full supportPartial supportNo support
  • 1. Can only be used to extend ArcGIS Experience Builder with custom widgets.

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