3

v1 マップにあるレイヤーを v2 に移植しています。レイヤーはマップ上にカスタム コントロールを描画し、マップが移動すると、現在の地理位置情報 (正しい縮尺) にとどまる必要があります。

onCameraChangeカメラがパンまたはズームしていることを自分のレイヤー (マップ上のカスタム ビュー) に伝え、レイヤーを適切に更新するために使用することが提案されていました。

私の問題は、カメラが移動された後onCameraChangeにのみ呼び出されることです-その間ではありません。したがって、応答性が十分ではありません。これを達成する別の方法はありますか?

4

1 に答える 1

2

RelativeLayout などから継承したカスタム クラス内に MapFragment (または MapView) をラップしてみてください。次に、そのカスタム レイアウトで onInterceptTouchEvent または dispatchTouchEvent をオーバーライドし、そこからカスタム ビューを移動できます。私は自分で試してみましたが、onCameraChange よりも確実に多くのコールバックが得られます。

ここで私の答えを見ることもできます:
Google Maps Android API v2 - Interactive InfoWindow (元の android google maps と同様
) infoWindow のいくつかのボタン) がありましたが、そこでもこのラッピング レイアウトを使用しました。

于 2013-02-23T13:42:20.170 に答える