Toolkit

ArcGIS Maps SDK for Kotlin offers a toolkit, ArcGIS Maps SDK for Kotlin Toolkit, that contains composable UI components to help simplify your Android development work. For information on how Android Jetpack Compose works, see Get started with Jetpack Compose.

The GeoView-Compose module has composable components to display maps and scenes. Most apps that use Android Jetpack Compose will need this module.

The Toolkit contains other, special-purpose composable components:

  • Augmented Reality - Provides components to "augment" the physical world with virtual content.
  • Authenticator - Displays a user interface when network and ArcGIS authentication challenges occur.
  • Callout - Draws a callout on the GeoView to display Composable content.
  • Compass - Shows a compass direction when the map is rotated. Auto-hides when the map points north.
  • FeatureForm - Enables users to edit field values of a feature using pre-configured forms.
  • FloorFilter - Allows filtering of floor plan data in a geo view by a site, a building in the site, or a floor in the building.
  • Popup - View field values of features in a layer using the Popup API.
  • UtilityNetworkTrace - Configure, run, and visualize UtilityNetworkTraces on a composable MapView.

The fastest way to get the toolkit into your app is to reference the compiled library (.aar file) from Jfrog, as described below. For instructions on using the toolkit from source code — for example, if you want to customize it — see Developer setup in the toolkit's repo.

Enhancements in 200.6

Utility Network Trace

The Utility Network Trace composable component allows developers to perform connected trace operations using named trace configurations defined in a map. These configurations are typically created and stored ahead of time using ArcGIS Pro's Utility Network Tools. This tool enables users to apply these configurations as needed for specific trace operations. See the utility network toolkit component for more details.

Augmented Reality - TableTopSceneView

This release introduces TableTopSceneView composable component in the AR module that allows you to anchor scene content to a physical surface as if it were a 3D-printed model. TableTopSceneView uses ARCore, Google's augmented reality framework to display the live camera feed and handles the scene positioning using the ArcGIS Maps SDK for Kotlin. See the AR toolkit component for more details.

Feature Form

This release introduces support for the BarcodeScannerFormInput input type on FieldFormElement, enabling various barcode formats as detailed in the Kotlin documentation. Additionally, a new TextFormElement has been implemented to display blocks of information within a Feature Form, allowing for plain text or rich text formatting using Markdown. This "Info" element can dynamically substitute attribute or expression values, updating when FeatureForm.evaluateExpressions() is invoked, and supports common Markdown options such as bold, italics, headings, and lists. See the feature form toolkit component for more details.

Modular toolkit library

The toolkit has library modules that can be deployed independent of each other in an application. Note that an individual library module can contain one or more composable UI components.

Reference the library from Jfrog

  1. If you haven't already, install and set up ArcGIS Maps SDK for Kotlin.

  2. Ensure the Esri public Jfrog Maven repository is in your project's gradle file, https://esri.jfrog.io/artifactory/arcgis

    settings.gradle.kts (Project Settings)
    Use dark colors for code blocks
    1
    2
    3
    4
    5
    6
    7
    dependencyResolutionManagement {
    	repositories {
    		...
    		 maven { url = uri("https://esri.jfrog.io/artifactory/arcgis") }
    		...
    	}
    }
  3. From the Android view, open Gradle Scripts > build.gradle.kts (Module: app) and add a dependency for each component of the ArcGIS Maps SDK for Kotlin Toolkit that you will be using.

    From the Project tool window, open Gradle Scripts > libs.versions.toml. In the [versions] section, verify you're using the correct version number for ArcGIS Maps SDK for Kotlin. And in the [libraries] section, add the library declarations for the following:

    • the ArcGIS Maps SDK for Kotlin SDK.
    • the ArcGIS Maps SDK for Kotlin Toolkit BOM.
    • any Toolkit components needed. For example, to display a simple map or scene, you need only the geoview-compose component, which contains the composable functions MapView and SceneView.
    Expand
    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
        // ArcGIS Maps for Kotlin - SDK dependency
        implementation(libs.arcgis.maps.kotlin)
        // Toolkit dependencies
        implementation(platform(libs.arcgis.maps.kotlin.toolkit.bom))
        implementation(libs.arcgis.maps.kotlin.toolkit.geoview.compose)
        // Additional modules from Toolkit, if needed, such as:
        // implementation(libs.arcgis.maps.kotlin.toolkit.authentication)
    
    Expand

The highlights above indicate lines that we are adding to the default build.gradle.kts (Module: app) and gradle/libs.versions.toml generated by the Android Studio New Project Wizard.

The first time you build a project, the Gradle build script will automatically download the ArcGIS Maps SDK for Kotlin and its resources to your development machine. Your Android Studio project will then access the Kotlin Maps SDK with no further action on your part.

Build from source

Although not required to do so, you can build the Toolkit components and micro-apps from the source code in the Toolkit repo. See the setup instructions for details.

Requirements

The following table shows version compatibility.

SDK VersionToolkit Version
200.0.0none
200.1.0none
200.2.0200.2.0
200.3.0200.3.0
200.4.0200.4.0
200.5.0200.5.0
200.6.0200.6.0

Issues

Find a bug or want to request a new feature enhancement? Please let us know by submitting an issue.

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