在.net的API中导出矢量贴图



想要通过将(ExportVectorTilesParameters)传递给(ExportVectorTiles)类上的(ExportVectorTiles)方法来获得生成和下载矢量tile包及其默认样式资源的作业。它还必须提供一个下载路径来存储矢量贴图包及其默认样式资源。

但是当我运行(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();

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

var result = await exportVectorTilesJob.GetResultAsync();

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

最新更新