7

ユーザーがズームした後、オーバーレイを再描画する必要があります。
これを行う最善の方法は何ですか?
私が考えることができるすべてを試しました(getZoomLevel()状態を保存し、onUserInteraction()をオーバーライドします)、実際には何も機能しません。
問題は、ユーザーがズームをクリックしたときに draw() が呼び出されているため、描画メソッドが取得する情報 (マップの状態について) が、マップビューがズームを終了した後の状態とは異なることです。
また、ズームの最後に draw() が呼び出されないため、マップをパンした場合にのみ、オーバーレイが実際に適切に描画されます。

4

2 に答える 2

2

7ヶ月で誰もこれに答えていないので、私がやったことを書きます.

ハンドラーを使用して、500 ミリ秒後にマップを手動で更新しましたが、問題なく動作しました。

Handler handler;
handler.postDelayed(refreshRoute, 500);
于 2010-12-12T07:35:16.733 に答える
0

mapview.postInvalidate()ズーム後に電話をかけてみましたか?

于 2011-02-02T20:17:54.773 に答える