Google map v2,In app,there is custom info window,which is not loading image from URL (loading by image Loader) please see attached image for more clearance. My code is here-
public class CustomWindowAdapter implements InfoWindowAdapter { private Activity objactivity; private List<GroupDealModle> mapList; public CustomWindowAdapter(Activity objactivity, List<GroupDealModle> mapList) { this.objactivity = objactivity; this.mapList = mapList; } @Override public View getInfoContents(Marker objmarker) { return null; } @Override public View getInfoWindow(Marker objmarker) { View objview = render(objmarker); return objview; } private View render(Marker objmarker) { ImageLoader objloader = new ImageLoader(objactivity); View view = null; if (!objmarker.getTitle().equals("")) { int pos = Integer.parseInt(objmarker.getTitle()); Log.e("==check position==", "" + pos); if (mapList != null && mapList.size() > pos) { String countvalue = mapList.get(pos).getCount(); Log.e("==check count==", "" + countvalue); if (countvalue.equalsIgnoreCase("1")) { LayoutInflater inflater = (LayoutInflater) objactivity .getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.balloon_overlay, null, false); TextView objbusname = (TextView) view .findViewById(R.id.balloon_item_title); TextView objballoon_item_desc = (TextView) view .findViewById(R.id.balloon_item_desc); TextView objtitle = (TextView) view .findViewById(R.id.balloon_item_snippet); ImageView objimgview = (ImageView) view .findViewById(R.id.userthumb_inbaloon); TextView objtextexpired = (TextView) view .findViewById(R.id.textexpired); objbusname.setText(mapList.get(pos).getBussiness_name()); String expirevalue = mapList.get(pos).getExpire_status(); if (expirevalue != null && expirevalue.equals("1")) { objtextexpired.setVisibility(View.VISIBLE); } if (expirevalue != null && expirevalue.equals("0")) { objtextexpired.setVisibility(View.GONE); } objtitle.setText(mapList.get(pos).getDeal_title()); objballoon_item_desc.setText(mapList.get(pos) .getDescription()); String imageurl = mapList.get(pos).getImage(); objloader.DisplayBanner(AppConstants.BASE_URL + imageurl, objimgview, 65, 65); } else { LayoutInflater inflater = (LayoutInflater) objactivity .getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.transparentview, null, false); view.setVisibility(View.GONE); String userid = mapList.get(pos).getUser_id(); LatLng objlatlng = objmarker.getPosition(); double latitude = objlatlng.latitude; double longitude = objlatlng.longitude; Bundle objbundle = new Bundle(); Intent objintent = new Intent(objactivity, com.flashdeal.map.MapGroupData.class); objbundle.putString("from", "map"); objbundle.putString("lat", "" + latitude); objbundle.putString("longi", "" + longitude); objbundle.putString("userid", "" + userid); objintent.putExtras(objbundle); objactivity.startActivity(objintent); } } } return view; }
@Override protected void onPostExecute(List<GroupDealModle> result) { if (objprogress.isShowing()) { objprogress.dismiss(); } if (result != null) { mapList = result; myMap.setInfoWindowAdapter(new CustomWindowAdapter(MainActivity.this,mapList)); if (result.size() != 0) { if (result != null) { addPins(result); } } else if (frommovecurrent != null && frommovecurrent.equalsIgnoreCase("yes")) { frommovecurrent = "no"; addSingleMarker(); addPins(result); /* * // objLayout . removeAllViews (); // objLayout .addView( * objviewformap ); objMapViewhelper . clearMap( ); * AlertDialog .Builder objbuilder = new AlertDialog * .Builder( MainActivity .this); objbuilder . setMessage ( * "No deals found" ); objbuilder . setPositiveButton ("ok", * new DialogInterface . OnClickListener () { * * @Override public void onClick( DialogInterface arg0, int * arg1) { } }); objbuilder . create(); objbuilder .show(); */ } else if (result.size() == 0) { addSingleMarker(); addPins(result); } } }
The Maps V2 UI is actually rendered by another process. You cannot modify the View
you use for your info window after you pass that View
to Maps V2. My guess is that you are trying to set up the View
,then load the image later on, and that will not work. Get the image first, then put it into the View
before you give the View
to Maps V2.
This, of course, was covered in the answer that you linked to.
4。链接 地址