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;
}
}