在Android Google Map v2中的自定义标记周围添加发光效果

时间:2015-04-01 08:24:42

标签: android google-maps

我遇到了添加自定义标记和焕发的任务。我附上了我想要的图像。我想知道要找到解决方案,但无法解决。  我正在使用的标记代码就是这个。

map.addMarker(new MarkerOptions()
            .title(title)
            .position(points)
            .snippet(snippet)
            .icon(BitmapDescriptorFactory.fromResource(res))
        ).showInfoWindow();

enter image description here

我不想使用任何额外的图像。我想通过代码来做  ,请帮帮我。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在发光效果(仅限)位图上绘制正常的自定义标记位图。

这应该是这样的:

        int resourceIdCar = R.drawable.car;
        Bitmap bmpCar = BitmapFactory.decodeResource(getResources(), resourceIdCar);
        int resourceIdArrow = R.drawable.arrow;
        Bitmap bmpArrow = BitmapFactory.decodeResource(getResources(), resourceIdArrow);

        Bitmap bmpOverlay = overlay(bmpCar,bmpArrow);
        myMarker = googleMap.addMarker(new MarkerOptions()
                        .position(DerekPos)
                        .icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher))
                        .title("Hello world")
                        .draggable(true)
                                //.icon(BitmapDescriptorFactory.fromResource(R.drawable.car))
                        .icon(BitmapDescriptorFactory.fromBitmap(bmpOverlay))
        );

//=-=-=-=-=-=-=

private Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
    Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
    Canvas canvas = new Canvas(bmOverlay);
    canvas.drawBitmap(bmp1, new Matrix(), null);
    canvas.drawBitmap(bmp2, new Matrix(), null);
    return bmOverlay;
}

enter image description here