Пример #1
0
        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;
                });
            }
        }