我需要为每次平移和捏缩放下载开放街道地图图块。我使用WebClient从Uri下载图像。但我得到“一个HttpWebRequest被添加到连接组队列,因为连接linit已到达,很快,我在Xamarin iOS中获得System.Net.WebException。但我在Xamarin.Android中也是这样做的,图像的下载速度比Xamarin iOS要好。
WebClient webClient = new WebClient();
byte[] imageBytes = null;
Uri uri = new Uri("http://tile.openstreetmap.org/" + Scale.ToString() + "/" + i.ToString() + "/" + j.ToString() + ".png");
imageBytes = await webClient.DownloadDataTaskAsync(uri);
答案 0 :(得分:1)
在iOS上,我们可以使用NSUrlSession下载图片,这对您可能更有帮助。您可以参考以下代码了解用法:
NSUrlSession session = NSUrlSession.SharedSession;
var dataTask = session.CreateDataTask(new NSUrlRequest(new NSUrl("yourUrl")), (data, response, error) =>
{
if (response != null)
{
DispatchQueue.MainQueue.DispatchAsync(() =>
{
MyImageView.Image = UIImage.LoadFromData(data);
});
}
});
dataTask.Resume();