ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping.Offline Namespace / ExportTileCacheParams Class / Extent Property
Example

In This Topic
    Extent Property (ExportTileCacheParams)
    In This Topic
    Gets and sets the extent of the area to be included in tile cache.
    Syntax
    public Envelope Extent {get; set;}
    Public Property Extent As Envelope
    Remarks
    The spatial reference of the specified extent must be the same as the map from which tile cache is being generated
    Example
    Export Map Raster Tile Cache Content
    //namespace ArcGIS.Desktop.Mapping.Offline
    var extent = MapView.Active.Extent;
    var map = MapView.Active.Map;
    
    //await if needed...
    QueuedTask.Run(() =>
    {
      //Does the map have any exportable raster content?
      var canExport = GenerateOfflineMap.Instance.GetCanExportRasterTileCache(map);
      if (canExport)
      {
        //Check the available LOD scale ranges
        var scales = GenerateOfflineMap.Instance.GetExportRasterTileCacheScales(map, extent);
        //Pick the desired LOD scale
        var max_scale = scales[scales.Count() / 2];
    
        //Configure the export parameters
        var export_params = new ExportTileCacheParams()
        {
          Extent = extent,//Use same extent as was used to retrieve scales
          MaximumUserDefinedScale = max_scale
          //DestinationFolder = .... (optional)
        };
        //If DestinationFolder is not set, output defaults to project
        //offline maps location set in the project properties. If that is 
        //not set, output defaults to the current project folder location.
    
        //Do the export. Depending on the MaximumUserDefinedScale and the
        //area of the extent requested, this can take minutes for tile packages
        //over 1 GB or less if your network speed is slow...
        GenerateOfflineMap.Instance.ExportRasterTileCache(map, export_params);
      }
    });
    Export Map Vector Tile Cache Content
    //namespace ArcGIS.Desktop.Mapping.Offline
    var extent = MapView.Active.Extent;
    var map = MapView.Active.Map;
    
    //await if needed...
    QueuedTask.Run(() =>
    {
      //Does the map have any exportable vector tile content?
      var canExport = GenerateOfflineMap.Instance.GetCanExportVectorTileCache(map);
      if (canExport)
      {
        //Check the available LOD scale ranges
        var scales = GenerateOfflineMap.Instance.GetExportVectorTileCacheScales(map, extent);
        //Pick the desired LOD scale
        var max_scale = scales[scales.Count() / 2];
    
        //Configure the export parameters
        var export_params = new ExportTileCacheParams()
        {
          Extent = extent,//Use same extent as was used to retrieve scales
          MaximumUserDefinedScale = max_scale,
          DestinationFolder = @"C:\Data\Offline"
        };
        //If DestinationFolder is not set, output defaults to project
        //offline maps location set in the project properties. If that is 
        //not set, output defaults to the current project folder location.
    
        //Do the export. Depending on the MaximumUserDefinedScale and the
        //area of the extent requested, this can take minutes for tile packages
        //over 1 GB or less if your network speed is slow...
        GenerateOfflineMap.Instance.ExportVectorTileCache(map, export_params);
      }
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also