首先让我说我见过这个帖子:How can I replace the Compass image of MyLocationOverlay?
根据那个帖子,它告诉我我无法覆盖图标。
没什么大不了的。也就是说,我正在试图找到实现这一目标的方法。
我是否正确地说我需要创建自己的自定义画布,只需绘制图标并旋转它并覆盖另一个扩展MyLocationOverlay的自定义类中的drawcompass方法?
如果这是正确的,如何创建图标的自定义画布/旋转它? (我没有在android os中绘图的经验。)
答案 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 );
}