Я следую этому примеру: CustomMap
В этом примере изображение информируется напрямую ( Здесь ):
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/xamarin" />
Я изменил его на:
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:id="@+id/InfoWindowFoto"/>
и:
var infoFoto = view.FindViewById<ImageView>(Resource.Id.InfoWindowFoto);
if (infoFoto != null) GetImageBitmapFromUrl(infoFoto, customPin.local.Url_Imagem);
и:
private void GetImageBitmapFromUrl(ImageView img, string url)
{
using (var webClient = new WebClient())
{
var imageBytes = webClient.DownloadData(url);
if (imageBytes != null && imageBytes.Length > 0)
{
var bitmap = BitmapFactory.DecodeByteArray(imageBytes, 0, imageBytes.Length);
img.SetImageBitmap(bitmap);
}
}
}
если изображение синхронное, работает с задержкой: (
Если я перейду на асинхронный, изображение не будет отображаться:
var infoFoto = view.FindViewById<ImageView>(Resource.Id.InfoWindowFoto);
if (infoFoto != null) GetImageBitmapFromUrl(infoFoto, customPin.local.Url_Imagem);
private async void GetImageBitmapFromUrl(ImageView img, string url)
{
using (var webClient = new WebClient())
{
var imageBytes = await webClient.DownloadDataTaskAsync(url);
if (imageBytes != null && imageBytes.Length > 0)
{
var bitmap = await BitmapFactory.DecodeByteArrayAsync(imageBytes, 0, imageBytes.Length);
img.SetImageBitmap(bitmap);
}
}
}
Я не знаю, как обновить представление, чтобы отображать изображение после его загрузки. Я также пробовал Picasso с тем же результат:
var infoFoto = view.FindViewById<ImageView>(Resource.Id.InfoWindowFoto);
Picasso.Get().Load(customPin.local.Url_Imagem).Into(infoFoto);
Можете ли вы помочь мне исправить это, пожалуйста
РЕДАКТИРОВАТЬ:
также пробовал с FFImageloading:
if (infoFoto! = null) ImageService.Instance.LoadUrl (customPin.local.Url_Imagem) .Into (infoFoto);
Когда я нажимаю на булавку, изображение не появляется. Но если я нажму на булавке и представление закроется, и я нажмите на булавку еще раз, чтобы открыть вид, изображение появится быстро!
Мне нужно знать, можно ли обновить вид внутри карты после того, как изображение исчезло загружен ...
Мой образец: Пример проекта