如何将bitmapDescriptor转换为位图?

时间:2018-04-16 15:36:26

标签: android google-maps google-maps-markers

我想要实现的功能是:如果它是与用户所选区域最接近的标记,则使用特定图标放大标记。我将所有标记存储在一个集合collectionOfMarkers()和findClosest()方法中,返回最接近用户区域的标记。

// Get closes marker
        closestMarker= getClosestItem(collectionOfMarkers(),latLng);
        mClusterRenderer.getMarker(closestMarker).setIcon(closestMarker.getIcon());

要调整那个标记的大小,我需要传递具有指定宽度和高度参数的新Bitmap,但是它也需要Bitmap源,我只有bitmapDescriptor来执行nearestMarker.getIcon()。有没有办法将BitmapDescriptor转换为Bitmap?我没有图标名称或资源路径,因为标记可以表示多个图标,因此,它必须从标记本身中提取。

1 个答案:

答案 0 :(得分:0)

public Bitmap resizeMapIcons(String iconName,int width, int height){
    Bitmap imageBitmap = BitmapFactory.decodeResource(getResources(),getResources().getIdentifier(iconName, "drawable", getPackageName()));
    Bitmap resizedBitmap = Bitmap.createScaledBitmap(imageBitmap, width, height, false);
    return resizedBitmap;
}

一样使用它
googleMap.addMarker(new MarkerOptions()
            .title("New Marker")
            .snippet("Check out this place.")
            .position(chelsea).icon(BitmapDescriptorFactory.fromBitmap(resizeMapIcons("image_name",100,100))));