View in MAUI WPF WinUI View on GitHub
import InlineCode from "@esri-dx/starship-doc-components/components/InlineCode.astro";

Export tiles from an online vector tile service.

Export vector tiles

Use case

Field workers with limited network connectivity can use exported vector tiles as a basemap for use while offline.

How to use the sample

When the vector tiled layer loads, zoom in to the extent you want to export. The red box shows the extent that will be exported. Tap the “Export vector tiles” button to start exporting the vector tiles. An error will show if the extent is larger than the maximum limit allowed. When finished, a new map view will show the exported result.

How it works

  1. Create an
    , from the map’s base layers.
  2. Create an
    using the vector tiled layer’s URL.
  3. Create default
    from the task, specifying extent and maximum scale.
  4. Create an
    from the task using the parameters, specifying a vector tile cache path, and an item resource path. The resource path is required if you want to export the tiles with the style.
  5. Start the job, and once it completes successfully, get the resulting
    .
  6. Get the
    and
    from the result to create an
    that can be displayed to the map view.

Relevant API

  • ArcGISVectorTiledLayer
  • ExportVectorTilesJob
  • ExportVectorTilesParameters
  • ExportVectorTilesResult
  • ExportVectorTilesTask
  • ItemResourceCache
  • VectorTileCache

Additional information

Vector tiles have high drawing performance and smaller file size compared to regular tiled layers, due to consisting solely of points, lines, and polygons. However, in ArcGIS Maps SDK for .NET they cannot be displayed in scenes. Visit ArcGIS for Developers to learn more about the characteristics of ArcGIS vector tiled layers.

Tags

cache, download, offline, vector

Sample Code

ExportVectorTiles.xaml ExportVectorTiles.xaml ExportVectorTiles.xaml.cs
<UserControl x:Class="ArcGIS.WinUI.Samples.ExportVectorTiles.ExportVectorTiles"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:esriUI="using:Esri.ArcGISRuntime.UI.Controls">
<Grid>
<esriUI:MapView x:Name="MyMapView" ViewpointChanged="MyMapView_ViewpointChanged" />
<Border Style="{StaticResource BorderStyle}">
<StackPanel>
<Button x:Name="MyExportButton"
Width="330"
HorizontalAlignment="Center"
Click="MyExportButton_Click"
Content="Export vector tiles"
IsEnabled="False" />
<Grid>
<ProgressBar x:Name="MyProgressBar"
Width="330"
MinHeight="20"
Margin="0,10,0,0"
HorizontalAlignment="Center"
Background="Transparent"
Maximum="100"
Minimum="0"
Visibility="Collapsed" />
<TextBlock x:Name="MyProgressBarLabel"
Margin="0,10,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Visibility="Collapsed" />
</Grid>
<esriUI:MapView x:Name="MyPreviewMapView"
Width="330"
Height="280"
Visibility="Collapsed" />
<Button x:Name="MyCancelJobButton"
Width="330"
Margin="0,10,0,0"
HorizontalAlignment="Center"
Click="MyCancelJobButton_Click"
Content="Cancel"
Visibility="Collapsed" />
<Button x:Name="MyClosePreviewButton"
Width="330"
Margin="0,10,0,0"
HorizontalAlignment="Center"
Click="MyClosePreviewButton_Click"
Content="Close Preview"
Visibility="Collapsed" />
</StackPanel>
</Border>
</Grid>
</UserControl>