ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMBookmark Class
Members Example

In This Topic
    CIMBookmark Class
    In This Topic
    Represents a spatial bookmark.
    Object Model
    CIMBookmark ClassCIMViewCamera ClassCIMBookmark ClassCIMBookmark ClassEnvelope ClassCIMLayerRange ClassTimeExtent Class
    Syntax
    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);
      });
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CIM.CIMObject
          ArcGIS.Core.CIM.CIMBookmark

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also