想要通過將 (ExportVectorTilesParameters) 傳遞給 (ExportVectorTilesTask) 類上的 (ExportVectorTiles) 方法來獲取生成和下載矢量切片包及其默認樣式資源的作業。這還必須提供一個下載路徑來存盤矢量切片包及其默認樣式資源。
但是當我運行 (ExportVectorTilesJob) 來匯出和下載矢量切片包 (.vtpk) 時,它最終無處可去。
我如何檢查和處理我的作業所在的作業狀態,以及出了什么問題。
以下是我用來匯出矢量切片的代碼:
Uri vectorTileLayerUri = vectorTiledLayer.Source;
exportVectorTileTask = await ExportVectorTilesTask.CreateAsync(vectorTileLayerUri);
ExportVectorTilesParameters exportVectorTileParams = await exportVectorTileTask.CreateDefaultExportVectorTilesParametersAsync(
areaOfInterest: MyMapView.VisibleArea,
maxScale: MyMapView.MapScale);
string myDocumentsFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string tileCachePath = System.IO.Path.Combine(myDocumentsFolder, "VectorMapTiles.vtpk");
ExportVectorTilesJob exportVectorTilesJob = exportVectorTileTask.ExportVectorTiles(exportVectorTileParams, tileCachePath);
exportVectorTilesJob.Start();
uj5u.com熱心網友回復:
您可以通過使用以下代碼來實作這一點,只需在最后一行之前添加以下代碼,它可以處理作業狀態更改并為您檢查狀態。
// Handle job status change to check the status.
exportVectorTilesJob.JobChanged = async (sender, args) =>
{
// Show job status and progress.
Console.WriteLine($"Job status: {exportVectorTilesJob.Status}, progress: {exportVectorTilesJob.Progress}%");
// When the job succeeds, display the local vector tiles.
if (exportVectorTilesJob.Status == JobStatus.Succeeded)
{
// Get the result from the job.
ExportVectorTilesResult result = await exportVectorTilesJob.GetResultAsync();
// Create a vector tile cache from the result.
VectorTileCache vectorCache = result.VectorTileCache;
// Create new vector tiled layer using the tile cache.
ArcGISVectorTiledLayer localVectorTileLayer = new ArcGISVectorTiledLayer(vectorCache);
// Display the layer as a basemap.
MyMapView.Map = new Map(new Basemap(localVectorTileLayer));
}
};
uj5u.com熱心網友回復:
您需要等待作業完成。服務器需要一些時間來生成資料,然后運行時才能下載它。最簡單的方法是等待結果:
var result = await exportVectorTilesJob.GetResultAsync();
(如果您這樣做,您實際上不需要顯式啟動作業)您還可以偵聽 JobChanged、ProgressChanged 并檢查 Status 屬性以了解作業的運行方式并向用戶提供進度反饋。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/337102.html
標籤:。网 地理信息系统 arcgis-服务器 arcgis 运行时 arcgis-runtime-net
