ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / MapView Class / ZoomTo Method / ZoomTo(IEnumerable<Layer>,Boolean,Nullable<TimeSpan>,Boolean) Method
An enumeration of layers containing the features in which to zoom.
Indicates whether only the selected features for a layer should be used to determine the extent in which to zoom.
The amount of time to navigate the view to the new camera position. If null it uses the default navigation duration.
Indicates if the Pitch and Heading should remain the same after the navigation is completed. If false the Heading will be set to 15.0 and the Pitch will be set to -60.0. This parameter only effects 3D views.
Example

In This Topic
    ZoomTo(IEnumerable<Layer>,Boolean,Nullable<TimeSpan>,Boolean) Method
    In This Topic
    Zoom the view to the extent of one or more layers. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Overloads Function ZoomTo( _
       ByVal layers As IEnumerable(Of Layer), _
       Optional ByVal selectedOnly As Boolean, _
       Optional ByVal duration As Nullable(Of TimeSpan), _
       Optional ByVal maintainViewDirection As Boolean _
    ) As Boolean

    Parameters

    layers
    An enumeration of layers containing the features in which to zoom.
    selectedOnly
    Indicates whether only the selected features for a layer should be used to determine the extent in which to zoom.
    duration
    The amount of time to navigate the view to the new camera position. If null it uses the default navigation duration.
    maintainViewDirection
    Indicates if the Pitch and Heading should remain the same after the navigation is completed. If false the Heading will be set to 15.0 and the Pitch will be set to -60.0. This parameter only effects 3D views.

    Return Value

    True if the navigation is completed, false if it was interrupted by another view navigation.
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Zoom to a specified point
    {
      double x = -122.45;
      double y = 37.75;
      double buffer_size = 0.1;
      //Create a point
      var pt = MapPointBuilderEx.CreateMapPoint(x, y,
                     SpatialReferenceBuilder.CreateSpatialReference(4326));
      //Buffer it - for purpose of zoom
      var poly = GeometryEngine.Instance.Buffer(pt, buffer_size);
    
      //do we need to project the buffer polygon?
      if (!MapView.Active.Map.SpatialReference.IsEqual(poly.SpatialReference))
      {
        //project the polygon
        poly = GeometryEngine.Instance.Project(poly, MapView.Active.Map.SpatialReference);
      }
    
      // Must run on MCT.
      QueuedTask.Run(() =>
      {
        //Zoom - add in a delay for animation effect
        MapView.Active.ZoomTo(poly, new TimeSpan(0, 0, 0, 3));
      });
    }
    Zoom To a Point
    {
      // Note: Needs QueuedTask to run
      {
        //Create a point
        var pt = MapPointBuilderEx.CreateMapPoint(x, y, spatialReference);
        //Buffer it - for purpose of zoom
        var poly = GeometryEngine.Instance.Buffer(pt, buffer_size);
    
        //do we need to project the buffer polygon?
        if (!MapView.Active.Map.SpatialReference.IsEqual(poly.SpatialReference))
        {
          //project the polygon
          poly = GeometryEngine.Instance.Project(poly, MapView.Active.Map.SpatialReference);
        }
    
        //Zoom - add in a delay for animation effect
        mapView.ZoomTo(poly, new TimeSpan(0, 0, 0, 3));
      }
    }
    Zoom To Visible Layers
    {
      // Note: Needs QueuedTask to run
      {
        //Zoom to all visible layers in the map.
        var visibleLayers = mapView.Map.Layers.Where(l => l.IsVisible);
        mapView.ZoomTo(visibleLayers);
      }
    }
    Rotate the map view
    {
      //Get the camera for the view, adjust the heading and zoom to the new camera position.
      camera = mapView.Camera;
      camera.Heading = heading;
      await mapView.ZoomToAsync(camera, TimeSpan.Zero);
      //Or synchronously
      mapView.ZoomTo(camera, TimeSpan.Zero);
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also