Skip To Content ArcGIS for Developers Sign In Dashboard

ArcGIS Runtime SDK for .NET

Map rotation

This code sample is available for these platforms:
View Sample on GitHub

Rotate a map.


Use case

A user may wish to view the map in an orientation other than north-facing.

How it works

  1. Instantiate an Map object.
  2. Display the map in a map view.
  3. Use SetViewpointRotationAsync to indicate the rotation angle.

Relevant API

  • Map
  • Compass
  • MapView


SetViewpointRotationAsync, rotate

Sample Code

        <esriUI:MapView x:Name="MyMapView" />
        <Border BorderBrush="Black" BorderThickness="1" Background="White"
                HorizontalAlignment="Right" VerticalAlignment="Top"
                Margin="30" Padding="20" Width="375">
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="50" />
                <Slider x:Name="MySlider"
                        Minimum="0" Maximum="180" Value="0"
                        ValueChanged="MySlider_ValueChanged" />
                <TextBlock x:Name="MyTextBlock"
                           TextAlignment="Center" FontWeight="SemiBold"
                           Grid.Column="1" />
// Copyright 2018 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:
// 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;
using Windows.UI.Xaml.Controls.Primitives;

namespace ArcGISRuntime.UWP.Samples.MapRotation
        "Map rotation",
        "This sample demonstrates how to rotate a map.",
        "Use the available slider to dictate the number of degrees the map is rotated")]
    public partial class MapRotation
        public MapRotation()


        private void Initialize()
            // Assign the map to the MapView
            MyMapView.Map = new Map(Basemap.CreateStreets());

        private void MySlider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
            // Display the rotation value in the Label formatted nicely with degree symbol.
            MyTextBlock.Text = $"{MySlider.Value:0}°";

            // Set the MapView rotation to that of the Slider.