2011-12-06 16 views
2

MyLocationOverlayクラスを使用しているユーザーの現在の場所を示すアプリケーションを作成しました。しかし、ユーザが自分の位置を変えると、マーカは縮小されません。 「フォローミー」機能を実装するにはどうすればよいですか?MyLocationOverlayクラスを使用して「follow me」を実装するにはどうすればよいですか?

私はLocationManagerをできるだけ頻繁に更新してから、onLocationChangedメソッド内でanimateToメソッドを呼び出すことを考えていますが、これは悪い解決策です。それを行う方法はありますか?

答えて

2

私がしているのは、私のMapActivityの内部クラスとしてMyLocationOverlayです。次に、onLocationChangedを無効にし、その方法でMapControlleranimateToを使用します。

@Override 
public synchronized void onLocationChanged(Location location) { 
    if (location != null) { 
     mapController.animateTo(
       new GeoPoint((int) (location.getLatitude()*1e6), 
          (int) (location.getLongitude()*1e6)); 
    } 
    super.onLocationChanged(location); 
} 
+0

はlocationManager.requestLocationUpdates(bestProvider、MINTIME、minDistance、locationListener)の影響を受けていないMyLocationOverlay上の場所の更新を要求する頻度ですか?また、myLocationOverlayの更新頻度はどのくらいですか?私もそれを設定することはできますか?それとも最終ですか? – Arci

+0

正解ですが、それは他のアップデートの影響を受けません。クラスがクローズドソースであるため、アップデートの頻度はわかりません。調整不可能なので、デフォルトの値をそのまま使用するか、独自のクラスを作成する必要があります。 – Craigy

+0

ありがとう、Craigy。私はあなたの提案を試してみたところ、LocationManagerの設定には影響されないようです。私は後で道路上で自分のアプリケーションを実行しようとします。 :) – Arci

関連する問題