Open map URL

View inMAUIUWPWPFWinUIView on GitHub

Display a web map.

Image of open map URL

Use case

For displaying web maps stored on ArcGIS Online.

How to use the sample

A web map can be selected from the drop-down list. On selection the web map displays in the map view.

How it works

  1. Create a Portal from the ArcGIS URL http://www.arcgis.com.
  2. Create a PortalItem using the Portal and the web map ID: new PortalItem(portal, ID).
  3. Create a Map using the portal item.
  4. Set the map to the MapView.

Relevant API

  • Map
  • MapView
  • Portal
  • PortalItem

About the data

The web maps accessed by this sample show Geology for United States and Recent Hurricanes, Cyclones and Typhoons.

Tags

portal item, web map

Sample Code

OpenMapURL.xaml.csOpenMapURL.xaml.csOpenMapURL.xaml
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
// Copyright 2022 Esri.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
// language governing permissions and limitations under the License.

using Esri.ArcGISRuntime.Mapping;

namespace ArcGIS.Samples.OpenMapURL
{
    [ArcGIS.Samples.Shared.Attributes.Sample(
        name: "Open map URL",
        category: "Map",
        description: "Display a web map.",
        instructions: "A web map can be selected from the drop-down list. On selection the web map displays in the map view.",
        tags: new[] { "portal item", "web map" })]
    public partial class OpenMapURL : ContentPage
    {
        // String array to hold urls to publicly available web maps.
        private string[] _itemURLs = {
            "https://arcgis.com/home/item.html?id=92ad152b9da94dee89b9e387dfe21acd",
            "https://arcgis.com/home/item.html?id=064f2e898b094a17b84e4a4cd5e5f549"
        };

        // String array to store titles for the webmaps specified above.
        private string[] _titles = {
            "Geology for United States",
            "Recent Hurricanes, Cyclones and Typhoons"
        };

        public OpenMapURL()
        {
            InitializeComponent();
            Initialize();
        }

        private void Initialize()
        {
            // Create a new Map instance with url of the webmap that is displayed by default.
            MyMapView.Map = new Map(new Uri(_itemURLs[0]));
        }

        private async void OnMapsClicked(object sender, EventArgs e)
        {
            try
            {
                // Show sheet and get title from the selection
                string selectedMapTitle = await Application.Current.MainPage.DisplayActionSheet("Select map", "Cancel", null, _titles);

                // If selected cancel do nothing
                if (selectedMapTitle == null || selectedMapTitle == "Cancel") return;

                // Get index that is used to get the selected url
                int selectedIndex = _titles.ToList().IndexOf(selectedMapTitle);

                // Create a new Map instance with url of the webmap that selected
                MyMapView.Map = new Map(new Uri(_itemURLs[selectedIndex]));
            }
            catch (Exception ex)
            {
                await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");
            }
        }
    }
}

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