0
私はpiccasoでカスタムInfowindow内の画像を表示しようとしていますが、動作しないようです。 Eveyマーカータグは開始時に0です。私は、マーカーIDとその一意のURLのマップをURLとして取得します。 マイコード:Google Maps API Infowindow with picture(Android)
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
View v = getLayoutInflater().inflate(R.layout.custom_info_window,null);
ImageView picture = v.findViewById(R.id.icon);
int flag = (Integer) marker.getTag();
String url = allMarkersMap.get(marker.getId());
if (url.equals("null")){}else {
if (flag==0){marker.setTag(1);
Picasso.with(MapActivity.this).load(url).into(picture, new InfoWindowRefresher(marker);}
else{Picasso.with(MapActivity.this).load(url).into(picture);}
}
// String picURL = allMarkersMap.get(marker);
TextView title = v.findViewById(R.id.title);
title.setText(marker.getTitle());
return v;
}
});
InfoWindowRefresher:
public class InfoWindowRefresher implements Callback {
Marker marker=null;
InfoWindowRefresher(Marker marker) {
this.marker=marker;
}
@Override
public void onError() {
//Log.e(getClass().getSimpleName(), "Error loading thumbnail!");
}
@Override
public void onSuccess() {
if (marker != null && marker.isInfoWindowShown()) {
marker.hideInfoWindow();
marker.showInfoWindow();
}
}
}
それが唯一つのマーカーで動作します私は本当に知らないなぜ –
この行はurl.equals(「ヌル」)。とても安全ではありません –
URLが大きすぎたり、大きすぎたりしていましたが、負荷線にresize()を置くと作業ができました。ありがとうございました! –