private async Task DownloadOnDemandMap() { var downloadTask = await OfflineMapTask.CreateAsync(TheMap.Map); var parameters = await downloadTask.CreateDefaultGenerateOfflineMapParametersAsync(TheMap.GetCurrentViewpoint(ViewpointType.BoundingGeometry).TargetGeometry); parameters.AttachmentSyncDirection = AttachmentSyncDirection.None; parameters.ReturnLayerAttachmentOption = ReturnLayerAttachmentOption.None; var job = downloadTask.GenerateOfflineMap(parameters, OnDemandDataFolder); job.ProgressChanged += OnDemandJob_ProgressChanged; var result = await job.GetResultAsync(); if (!result.HasErrors) { OnDemandStatusLabel.Text = "OnDemand Map: Download complete."; OnDemandStatusLabel.TextColor = Color.Green; _onDemandMap = result.OfflineMap; } else { OnDemandStatusLabel.Text = "OnDemand Map: Completed with errors."; OnDemandStatusLabel.TextColor = Color.Red; } ConditionallyEnableStep2(); }
private async Task DownloadOfflineMapArea() { var downloadTask = await OfflineMapTask.CreateAsync(TheMap.Map); var parameters = await downloadTask.CreateDefaultGenerateOfflineMapParametersAsync(TheMap.GetCurrentViewpoint(ViewpointType.BoundingGeometry).TargetGeometry); parameters.AttachmentSyncDirection = AttachmentSyncDirection.None; parameters.ReturnLayerAttachmentOption = ReturnLayerAttachmentOption.None; var job = downloadTask.GenerateOfflineMap(parameters, OfflineMapAreaFolder); job.ProgressChanged += OnDemandJob_ProgressChanged; var result = await job.GetResultAsync(); if (!result.HasErrors) { _offlineMapArea = result.OfflineMap; Device.BeginInvokeOnMainThread(() => { OfflineMapAreaButton.IsEnabled = false; ActivateMapAreaButton.IsEnabled = true; }); } }