如何正确旋转mapview上的drawable?

时间:2013-02-07 09:39:46

标签: android google-maps

我想在mayview上将一个旋转的drawable作为overlayItem。 我在here找到了以下代码,以便在mapview上旋转绘图。

public Drawable rotateDrawable(float angle, Context context)
{
  Bitmap arrowBitmap = BitmapFactory.decodeResource(context.getResources(),R.drawable.generic2rb);

  // Create blank bitmap of equal size
  Bitmap canvasBitmap = arrowBitmap.copy(Bitmap.Config.ARGB_8888, true);
  canvasBitmap.eraseColor(0x00000000);

  // Create canvas
  Canvas canvas = new Canvas(canvasBitmap);

  // Create rotation matrix
  Matrix rotateMatrix = new Matrix();
  rotateMatrix.setRotate(angle, canvas.getWidth()/2, canvas.getHeight()/2);

  //Draw bitmap onto canvas using matrix
  canvas.drawBitmap(arrowBitmap, rotateMatrix, null);

  return new BitmapDrawable(canvasBitmap); 
}
事情是它会将drawable画成画布并擦掉颜色(变成黑色);这将是将旋转的drawable放在其上的画布。但是黑色留在那里我怎么能让它透明以下有mapview?并且在旋转之后,结果在某些部分被切割(由于画布)。我怎样才能修好.. 我想我应该使用mapview视图作为画布,但是如何?

0 个答案:

没有答案