ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMBookmark Class / Camera Property
Example

In This Topic
    Camera Property (CIMBookmark)
    In This Topic
    Gets or sets the camera.
    Syntax
    public CIMViewCamera Camera {get; set;}
    Public Property Camera As CIMViewCamera
    Example
    Add New Bookmark from CIMBookmark
    public Task<Bookmark> AddBookmarkFromCameraAsync(Camera camera, string name)
    {
      return QueuedTask.Run(() =>
      {
        //Set properties for Camera
        CIMViewCamera cimCamera = new CIMViewCamera()
        {
          X = camera.X,
          Y = camera.Y,
          Z = camera.Z,
          Scale = camera.Scale,
          Pitch = camera.Pitch,
          Heading = camera.Heading,
          Roll = camera.Roll
        };
    
        //Create new CIM bookmark and populate its properties
        var cimBookmark = new CIMBookmark() { Camera = cimCamera, Name = name, ThumbnailImagePath = "" };
    
        //Get the active map view.
        var mapView = MapView.Active;
        if (mapView == null)
          return null;
    
        //Add a new bookmark for the active map.
        return mapView.Map.AddBookmark(cimBookmark);
      });
    }
    Update Extent for a Bookmark
    public Task UpdateBookmarkExtentAsync(Bookmark bookmark, ArcGIS.Core.Geometry.Envelope envelope)
    {
      return QueuedTask.Run(() =>
      {
        //Get the bookmark's definition
        var bookmarkDef = bookmark.GetDefinition();
    
        //Modify the bookmark's location
        bookmarkDef.Location = envelope;
    
        //Clear the camera as it is no longer valid.
        bookmarkDef.Camera = null;
    
        //Set the bookmark definition
        bookmark.SetDefinition(bookmarkDef);
      });
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also