1

GPS 付きの Google マップ V2 を使用するアプリを開発しています。このコードは、ユーザーの位置の緯度と経度を取得するセクションを示しています。

map.setMyLocationEnabled(true); //Locate the user's current location

LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria crit = new Criteria();
String provider = service.getBestProvider(criteria, false);
Location location = service.getLastKnownLocation(provider);
LatLng locationOfUser = new LatLng(location.getLatitude(),location.getLongitude());

アプリは基本的に locationOfUser 内の値を使用し、ユーザーが選択したマーカーに線を引くことができます。これは機能しますが、別の場所からアプリを試すと、ユーザーの現在の場所の変更を示す青いマーカーが表示されますが、locationOfUser 内の値は変更されず、現在の場所ではなく最後の場所から線を引きました。

ありがとうございました。

4

2 に答える 2

0

インターフェイスが API に追加されたので、LocationManager位置情報更新を手動でリクエストする必要はありません。OnMyLocationChangeListener

my-location レイヤーを有効にし ( map.setMyLocationEnabled(true))、リスナーを設定し ( map.setOnMyLocationChangeListener(this))、対応するコールバック (そのインターフェースを実装することによって提供される) で返された現在の場所で必要なことを行うだけです。

于 2013-04-25T21:47:37.227 に答える