【发布时间】:2016-03-16 00:51:17
【问题描述】:
我不明白为什么我的标记上没有更新图像?
String atvar_url = "uscalumni.gameday-data.com/upload/22081449748313.jpg";
MarkerOptions options = new MarkerOptions();
options.title("");
options.position(latLng);
options.icon(BitmapDescriptorFactory.fromBitmap(createDrawableFromView(atvar_url, true)));
options.anchor(0.5f, 1);
Marker m = googleMap.addMarker(options);
markerPicMap.put(atvar_url,m);
private Bitmap createDrawableFromView(final String atvar_url, boolean isCallback) {
DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
View marker = ((LayoutInflater) getActivity().getSystemService(Activity.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.custom_marker_layout, null);
final ImageView img = (ImageView) marker.findViewById(R.id.img_profile);
Callback callback = null;
if (isCallback) {
callback = new Callback() {
@Override
public void onSuccess()
{
try {
if (markerPicMap != null && markerPicMap.containsKey(atvar_url)) {
Marker m = markerPicMap.get(atvar_url);
if (m != null) {
Bitmap bmp = createDrawableFromView(atvar_url, false);
Log.e("Sundeep", "Success" + bmp);
m.setIcon(BitmapDescriptorFactory.fromBitmap(createDrawableFromView(atvar_url, false)));
}
}
}catch (Exception e) {e.printStackTrace();}
}
@Override
public void onError() {
Log.e("Sundeep", "there is error");
}
};
}
Picasso.with(getActivity()).load(atvar_url).placeholder(R.drawable.default_user).into(img, callback);
marker.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
marker.measure(displayMetrics.widthPixels, displayMetrics.heightPixels);
marker.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels);
marker.buildDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(marker.getMeasuredWidth(), marker.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
marker.draw(canvas);
return bitmap;
}
请帮助我。在此先感谢。
【问题讨论】:
-
你想在地图上自定义图像作为标记???
-
是的,我想通过使用毕加索来使用自定义图像,我将在该图像的 url 的帮助下加载该图像。
标签: android google-maps google-maps-markers marker