/arcgis-maps-sdk-dotnet-samples

Sample code for ArcGIS Maps SDK for .NET – WPF, WinUI, .NET MAUI

Primary LanguageC#Apache License 2.0Apache-2.0

Link: ArcGIS Developers home Link: Documentation Link: Tutorials Badge: Samples Link: Demos Link: Toolkit Link: Templates Link: NuGet Link: Esri Community

ArcGIS Maps SDK for .NET - Samples

Get it from Microsoft


Explore ArcGIS Maps SDK for .NET with dozens of interactive samples. Experience the SDK's powerful capabilities and learn how to incorporate them into your own apps. View the code behind each sample from within the app to see just how easy it is to use the SDK.

Get started

Download the sample viewer apps onto your devices:

Get it on Google Play

Get it from Microsoft

Or, you can browse a searchable list of samples on the ArcGIS for developers website:

Link: WPF Link: WinUI Link: UWP Link: .NET MAUI

Build the samples locally

If you want to modify or debug sample code, you can clone this repo and load one of the following solutions:

  • All: src\ArcGIS.Viewers.All.sln
  • .NET MAUI: src\MAUI\ArcGIS.Samples.Maui.sln

If you are only interested in one platform, you can open a platform-specific solutions:

  • WPF .NET: src\WPF\WPF.Viewer.Net.sln
  • .NET MAUI: src\MAUI\ArcGIS.Samples.Maui.sln
  • WinUI: src\WinUI\ArcGIS.WinUI.Viewer.sln

When the ArcGIS.Viewers.All.sln and WPF.Viewer.Net.sln are opened in Visual Studio, you can change the framework to .NET Framework from the debug button dropdown menu.

The following platforms are being kept for reference, but no new sample implementations are being added:

  • UWP: src\Windows\ArcGIS.UWP.Viewer.sln

Notes

IMPORTANT When you run the samples, you will need to provide an API key. An API key is a unique long-lived access token that is used to authenticate and monitor requests to ArcGIS location services and private portal items. You can create and manage an API key using your portal when you sign in with an ArcGIS Location Platform account or an ArcGIS Online account with administrator access or a custom role that has the Generate API keys privilege. To learn how to create and manage API keys, go to the Create an API key tutorial to create a new API key.

  • The .NET sample viewers have a prompt for setting an API key. You can also hardcode your API key in the GetLocalKey() method of the ApiKeyManager class.
  • Before using WinUI, install the latest Windows SDK and the vsix plugin.
  • When compiling Universal Windows Platform or WinUI samples, make sure that you are compiling against x86/x64/ARM platform and not using AnyCPU.

Offline data

Several samples require local data to function properly. That data is downloaded to local storage automatically when a sample is run. This process is handled by the DataManager class (located in the 'Managers' folder in each viewer project). Samples that use the data manager to download their data are differentiated as follows:

  • They have RequiresOfflineData set to true in their metadata.json files
  • They have one or more entries under DataItemIds in their metadata.json files (these are portal item Ids)
  • They use the data manager to identify the correct path for their offline files at run time

See the contribution guidelines for more detailed information.

Requirements

Supported system configurations for ArcGIS Maps SDK for .NET

Tools

Esri uses several tools to more efficiently manage the content in this repo. See Tools for more information.

Contribute

Anyone and everyone is welcome to contribute.

License

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

https://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.

A copy of the license is available in the repository's license.txt file.