I want to download the images from Parse cloud and load them into map icon. I am using Picasso to convert the images into bitmap. I am working with map for the first time I am not sure if my method correct to load the images into map icons. Please somebody help me!
markerOpts =
markerOpts.title(post.getText());
String uri = post.getImage().getUrl();
final MarkerOptions finalMarkerOpts = markerOpts;
Picasso.with(context)
.load(uri)
.into(new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
/* Save the bitmap or do something with it here */
//Set it in the ImageView
finalMarkerOpts.icon(BitmapDescriptorFactory.fromBitmap(bitmap));
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
// }
// Add a new marker
Marker marker = mapFragment.getMap().addMarker(markerOpts);
mapMarkers.put(post.getObjectId(), marker);
// if (post.getObjectId().equals(selectedPostObjectId)) {
// marker.showInfoWindow();
// selectedPostObjectId = null;
// }
}
// Clean up old markers.
cleanUpMarkers(toKeep);
}
});
}
Parse Model
public ParseFile getImage(){
return getParseFile("Image");
}
Logcat:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.parse.ParseFile.getUrl()' on a null object reference
at com.google.mywall.MainActivity$2.done(MainActivity.java:688)
at com.google.mywall.MainActivity$2.done(MainActivity.java:627)
post.getImage().getUrl();check this and put try catch for that.