我需要在地图中添加图标,如下图所示:
这是我的代码:
MarkerOptions marker = new MarkerOptions().position(location).title("resturan")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.a2));
我设法在我的地图上添加图标,但它只是一个没有边框的图标,看起来不太好,在上图中,每张图片周围都有边框,这就是我需要的
如何将此边框添加到我的图标中?
谢谢
答案 0 :(得分:1)
看看我写的关于如何以异步方式将图像放入InfoWindow
的博客文章:
Guide: Google Maps V2 for Android : Update InfoWindow with an Image Asynchronously
您可以看到如何为InfoWindow
指定布局,在布局中,您可以使用margins
属性为图像添加边框。
答案 1 :(得分:1)
这样,您可以在应用地图之前自定义地图图标。
public Bitmap createDrawableFromView(Context context) {
View marker = ((LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).
inflate(R.layout.map_popup, your_parent_layout,false);
TextView tv_location_name = (TextView) marker.findViewById(R.id.tv_location_name);
TextView tv_event_status = (TextView) marker.findViewById(R.id.tv_event_status);
TextView tv_event_name = (TextView) marker.findViewById(R.id.tv_event_name);
DisplayMetrics displayMetrics = new DisplayMetrics();
((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
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;
}