0
piccaso로 사용자 정의 Infowindow 내부에 그림을 표시하려고 시도했지만 작동하지 않는 것 같습니다. Evey 마커 태그는 시작시 0입니다. 마커 ID와 고유 URL을 값으로 사용하여 URL을 확인합니다. 내 코드 :사진이있는 Google지도 API 인포 우드도 (안드로이드)
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 ("널 (null)"); 너무 안전하지 않다 –
URL이 너무 크거나 무언가,로드 라인에 resize()를 넣으면 작업 중, 도움을 주셔서 감사합니다! –