如何使用自定义指南针图像android

时间:2011-08-17 21:08:21

标签: android mylocationoverlay

首先让我说我见过这个帖子:How can I replace the Compass image of MyLocationOverlay?

根据那个帖子,它告诉我我无法覆盖图标。

没什么大不了的。也就是说,我正在试图找到实现这一目标的方法。

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

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

1 个答案:

答案 0 :(得分: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 );
}