1

想要通过将 (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();
4

1 回答 1

0

您需要等待作业完成。服务器需要一点时间来生成数据,然后运行时下载它。最简单的方法是等待结果:

var result = await exportVectorTilesJob.GetResultAsync();

(如果您这样做,您实际上不需要显式启动作业)您还可以侦听 JobChanged、ProgressChanged 并检查 Status 属性以了解作业的运行情况并向用户提供进度反馈。

于 2021-10-25T20:44:15.497 回答