2

私のアプリケーションでは、現在の場所の緯度と経度にマーカーを付けて地図を表示しMap.setMyLocationEnabled(true)ています。ユーザーが自分の場所を操作するために使用します。

私の問題はsetMyLocationEnabledメソッドであり、私のlocation - lat,longコードは次のように異なる位置をマークしています:

地図

次のコードを使用して、現在の場所の緯度と経度を取得しました。

    LocationManager locationManager = (LocationManager)  getSystemService(Context.LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    provider = locationManager.getBestProvider(criteria, true);
    Location location = locationManager.getLastKnownLocation(provider);
    if(location!=null){
        latitude = location.getLatitude();
        longitude = location.getLongitude();
         --------- 
         }

GoogleのsetLocationEnabledが提供するように、現在の場所の正確な緯度と経度を取得するにはどうすればよいですか?

緑の旗のマーカーは私のマーカーで、青い点は Android が提供するものです。

4

2 に答える 2

0

LocationManager を使用する代わりに、setOnMyLocationChangeListener を介して GoogleMap のロケーション クライアントに自分自身を追加します。青い点が指しているのと同じ場所を返します。

于 2013-08-02T17:45:02.223 に答える