上記のクラスには、次のメソッドがあります。
protected void drawCompass(Canvas canvas, float bearing) {
int offset = Math.max(canvas.getHeight(), canvas.getWidth()) / 8;
Rect r = new Rect(0, 0, 2*offset, 2*offset);
canvas.drawBitmap(compassBase, null, r, paint);
canvas.rotate(-bearing, offset, offset);
canvas.drawBitmap(compassArrow, null, r, paint);
}
完全な src へのリンク: MyLocationOverlay
そこで、キャンバス上で両方のビットマップを描画する場所を指定する Rect r ウィッチを作成します。
drawBitmap の Java ドキュメントには次のように書かれています。
両方のビットマップが同じ Rect r を使用し、Rect に合わせて自動的にスケーリングされるため、MapView でコンパスをアクティブにすると、結果が完全なコンパスになるのはなぜですか。
コンパスの矢印もRectに合わせてスケーリングされているため、結果はがらくたになるはずです。
では、推論の誤りはどこにあるのでしょうか?