Googleマップの外部ライブラリを使用して、Android(およびiPhone)のマップに存在する現在地の追跡機能を複製する方法を探しています。マップでこの機能が機能する方法は、ボタンを押すと、マップに触れる(および/または移動する)まで、現在地でパンを開始することです。以下を使用して、アプリで現在の場所を画面の中央に保持することはできましたが、現在の場所を画面の中央に保持することはできません(場所が画面の端に近づくとパンしますが、マップはそれを画面の端に保持します常に中央に配置):
butMapCurrentLocation.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
runOnUiThread(new Runnable() {
public void run() {
mapController.animateTo(myLocationOverlay.getMyLocation());
}
});
}
});
私も試してみsetCenter
ましanimateTo
たが、同じ効果があるようです。
さらに、位置を中央に保つこの機能を停止できる必要があることに注意してください(別のボタンが押されたときや地図がタッチされたときなど)。上記のRunnableはすぐには停止せず、ここで説明するように.cancelを使用している場合でも、要求されたときに正しく停止させることができません。Android:Runnableを停止するにはどうすればよいですか?