0

首先让我说我看过这个帖子:如何替换 MyLocationOverlay 的 Compass 图像?

根据该线程,它告诉我无法覆盖该图标。

没有大碍。也就是说,我正在尝试找出一种方法来实现这一点。

我是否正确地说我需要创建自己的自定义画布来简单地绘制图标并旋转它并覆盖另一个扩展 MyLocationOverlay 的自定义类中的 drawcompass 方法?

如果这是正确的,我如何创建这个图标的自定义画布/旋转它?(我没有在 android 操作系统中绘图的经验)。

4

1 回答 1

0

不需要制作我自己的自定义画布,只需要覆盖 drawCompass 方法,因此我链接的初始问题中的信息似乎不正确:

@Override
protected void drawCompass(Canvas canvas, float bearing) {

    Bitmap arrowBitmap = BitmapFactory.decodeResource( mContext.getResources(), R.drawable.compass);
      Matrix matrix = new Matrix();
        matrix.postRotate(bearing);
        Bitmap rotatedBmp = Bitmap.createBitmap(
            arrowBitmap, 
            0, 0, 
            arrowBitmap.getWidth(), 
            arrowBitmap.getHeight(), 
            matrix, 
            true
        );

        canvas.drawBitmap(rotatedBmp, 20, 20, null );
}
于 2011-08-18T22:46:43.423 回答