Android 谷歌地图信息窗口图像视图
我正在尝试在Google Maps v2的信息窗口中加载动态图像。在从内存加载图像和getInfoContents返回要显示的视图之间,我有一个有趣的竞争条件。即使图像在内存中,在位图中,也可能无法在返回视图时完成绘制。我在网上尝试了很多解决方案,但没有一个是100%的 下面是我当前的代码。我重写了GoogleMap.InfoWindowAdapter的getInfoContents方法 有人知道怎么处理吗Android 谷歌地图信息窗口图像视图,android,google-maps,infowindow,Android,Google Maps,Infowindow,我正在尝试在Google Maps v2的信息窗口中加载动态图像。在从内存加载图像和getInfoContents返回要显示的视图之间,我有一个有趣的竞争条件。即使图像在内存中,在位图中,也可能无法在返回视图时完成绘制。我在网上尝试了很多解决方案,但没有一个是100%的 下面是我当前的代码。我重写了GoogleMap.InfoWindowAdapter的getInfoContents方法 有人知道怎么处理吗 @Override public View getInfoContent
@Override
public View getInfoContents(final Marker marker) {
final View view = LayoutInflater.from(context).inflate(R.layout.template_map_info_window, null);
final ImageView vehicleImage = (ImageView) view.findViewById(R.id.infowindow_image);
vehicleImage.setImageBitmap(myBitmap);
return view;
}
你可以从表格中获得一些想法
也可以考虑使用库,
考虑一下您的图像加载完成后的回调,它将被显示 示例代码:@Override
public View getInfoContents(Marker marker) {
ImageView imageView = (ImageView)myContentsView.findViewById(R.id.imgView);
if (not_first_time_showing_info_window) {
Picasso.with(MainActivity.this).load(YOU_IMAGE).into(imageView);
} else { // if it's the first time, load the image with the callback set
not_first_time_showing_info_window=true;
Picasso.with(MainActivity.this).load(YOU_IMAGE).into(imageView,new InfoWindowRefresher(marker));
}
return myContentsView;
}
private class InfoWindowRefresher implements Callback {
private Marker markerToRefresh;
private InfoWindowRefresher(Marker markerToRefresh) {
this.markerToRefresh = markerToRefresh;
}
@Override
public void onSuccess() {
markerToRefresh.showInfoWindow();
}
@Override
public void onError() {}
}