Mapsui.Providers.ArcGIS.Dynamic.ArcGISDynamicProvider.TryGetMap C# (CSharp) Метод

TryGetMap() публичный Метод

Retrieves the bitmap from ArcGIS Dynamic service
public TryGetMap ( IViewport viewport, IRaster &raster ) : bool
viewport IViewport
raster IRaster
Результат bool
        public bool TryGetMap(IViewport viewport, ref IRaster raster)
        {
            int width;
            int height;

            try
            {
                width = Convert.ToInt32(viewport.Width);
                height = Convert.ToInt32(viewport.Height);
            }
            catch (OverflowException ex)
            {
                Logger.Log(LogLevel.Error, "Error: Could not conver double to int (ExportMap size)", ex);
                return false;
            }

            var uri = new Uri(GetRequestUrl(viewport.Extent, width, height));
            var request = (HttpWebRequest)WebRequest.Create(uri);
            if (Credentials == null)
                request.UseDefaultCredentials = true;
            else
                request.Credentials = Credentials;

            try
            {
                var myWebResponse = request.GetSyncResponse(_timeOut);
                var dataStream = myWebResponse.GetResponseStream();

                var bytes = BruTile.Utilities.ReadFully(myWebResponse.GetResponseStream());
                raster = new Raster(new MemoryStream(bytes), viewport.Extent);
                dataStream?.Dispose();

                myWebResponse.Dispose();
                return true;
            }
            catch (Exception ex)
            {
                Logger.Log(LogLevel.Error, ex.Message, ex);
                return false;
            }
        }