我想要实现的功能是:如果它是与用户所选区域最接近的标记,则使用特定图标放大标记。我将所有标记存储在一个集合collectionOfMarkers()和findClosest()方法中,返回最接近用户区域的标记。
// Get closes marker
closestMarker= getClosestItem(collectionOfMarkers(),latLng);
mClusterRenderer.getMarker(closestMarker).setIcon(closestMarker.getIcon());
要调整那个标记的大小,我需要传递具有指定宽度和高度参数的新Bitmap,但是它也需要Bitmap源,我只有bitmapDescriptor来执行nearestMarker.getIcon()。有没有办法将BitmapDescriptor转换为Bitmap?我没有图标名称或资源路径,因为标记可以表示多个图标,因此,它必须从标记本身中提取。
答案 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))));