Display a web map

Learn how to create and display a from a stored in .

display a web map

A contains the definition of a , including properties such as the , initial , , , , and . You can author and save web maps using the or and share them in . Each web map is stored as an item in or , allowing you to access a from a using its and display it in your app.

In this tutorial, you use a 's to display a of

trails, trailheads and parks in the Santa Monica Mountains

. The web map is hosted in .

Prerequisites

Before starting this tutorial:

  1. You need an ArcGIS Location Platform or ArcGIS Online account.

  2. Confirm that your system meets the system requirements.

  3. An IDE for Android development in Kotlin.

Steps

Open an Android Studio project

  1. To start this tutorial, complete the Display a map tutorial. Or download and unzip the Display a map solution in a new folder.

  2. Modify the old project for use in this new tutorial. Expand More info for instructions.

  3. If you downloaded the solution, get an access token and set the API key.

Get the web map item ID

You can use to create and view . Use the to identify the web map . This item ID will be used later in the tutorial.

  1. Go to the LA Trails and Parks web map in the Map Viewer in . This web map displays

    trails, trailheads and parks in the Santa Monica Mountains

    .
  2. Make a note of the item ID at the end of the browser's URL. The item ID should be

    41281c51f9de45edaf1c8ed44bb10e30

    .

Add import statements

  1. Replace app-specific import statements with the imports needed for this tutorial.

    MainActivity.kt
    17 18 19 20 21 22 23 24 25 26 27 28
    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
    81
    82
    83
    84
    package com.example.app
    
    import android.os.Bundle
    import androidx.appcompat.app.AppCompatActivity
    
    import com.esri.arcgisruntime.ArcGISRuntimeEnvironment
    import com.esri.arcgisruntime.mapping.ArcGISMap
    import com.esri.arcgisruntime.mapping.view.MapView
    import com.esri.arcgisruntime.portal.Portal
    import com.esri.arcgisruntime.portal.PortalItem
    
    import com.example.app.databinding.ActivityMainBinding
    

Display the web map

You can create a from a using the web map's . Use the PortalItem class to access the web map, and the ArcGISMap class to create and display a map from it.

  1. Delete the code inside the setupMap method. These lines come from the Display a map tutorial and do not apply here.

    MainActivity.kt
    72 73 74 75 76 77 78 79 80 81 82 83 84
    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
    81
    82
    83
    84
    85
    86
        // set up your map here. You will call this method from onCreate()
        private fun setupMap() {
    
            // create a map with the BasemapStyle streets
            val map = ArcGISMap(BasemapStyle.ARCGIS_TOPOGRAPHIC)
    
            // set the map to be displayed in the layout's MapView
            mapView.map = map
    
            // set the viewpoint, Viewpoint(latitude, longitude, scale)
            mapView.setViewpoint(Viewpoint(34.0270, -118.8050, 72000.0))
    
        }
    
  2. Create a new Portal referencing as the portalUrl parameter and false for the loginRequired parameter.

    MainActivity.kt
    Expand
    71 72 73 74 75 76
    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
    81
    82
    83
    84
        // set up your map here. You will call this method from onCreate()
        private fun setupMap(){
    
            val portal = Portal("https://www.arcgis.com", false)
    
        }
    
    Expand
  3. Create a PortalItem for the , by passing the portal and the web map's as parameters.

  4. Create an ArcGISMap using the portalItem as the constructor parameter.

    MainActivity.kt
    Expand
    74 75 76 77 78
    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
    81
    82
    83
    84
            val portal = Portal("https://www.arcgis.com", false)
    
            val itemId = "41281c51f9de45edaf1c8ed44bb10e30"
            val portalItem = PortalItem(portal, itemId)
            val map = ArcGISMap(portalItem)
    
    Expand
  5. Set the map property of mapView to the ArcGISMap you just created.

    MainActivity.kt
    Expand
    71 72 73 74 75 76 77 78 79 80 81 82
    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
    81
    82
    83
    84
        // set up your map here. You will call this method from onCreate()
        private fun setupMap(){
    
            val portal = Portal("https://www.arcgis.com", false)
    
            val itemId = "41281c51f9de45edaf1c8ed44bb10e30"
            val portalItem = PortalItem(portal, itemId)
            val map = ArcGISMap(portalItem)
    
            mapView.map = map
    
        }
    
    Expand
  6. Click Run > Run > app to run the app.

You should see a map of

trails, trailheads and parks in the Santa Monica Mountains

. Drag, swipe, or pinch on the map view to explore the map.

What's next?

Learn how to use additional API features, ArcGIS location services, and ArcGIS tools in these tutorials:

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

You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

Your ArcGIS portal

Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

Your ArcGIS Location Platform dashboard

Manage billing, monitor service usage, and access additional resources.

Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

Close