android-如何在谷歌地图api 2上放置图标

时间:2014-08-21 14:31:11

标签: android android-maps-v2

我需要在地图中添加图标,如下图所示: enter image description here

这是我的代码:

MarkerOptions marker = new MarkerOptions().position(location).title("resturan")
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.a2));

我设法在我的地图上添加图标,但它只是一个没有边框的图标,看起来不太好,在上图中,每张图片周围都有边框,这就是我需要的

如何将此边框添加到我的图标中?

谢谢

2 个答案:

答案 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;
}