我需要为每个平移和捏缩放下载开放式街道地图瓷砖。我已经使用了网络电量来从URI下载图像。但是我得到的是"连接组的httpwebrequest已添加到连接列中,因为连接列是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);
在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();