2016-09-21 11 views
0

CODE:私はmMap.setMyLocationEnabled(true);googlemapで最後の場所を取得する方法は?

を通じて私の場所を取得した後

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

    private GoogleMap mMap; 
    private Location mLastLocation; 
    private GoogleApiClient mGoogleApiClient; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map); 
     mapFragment.getMapAsync(this); 
    } 

    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
     if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) 
       == PackageManager.PERMISSION_GRANTED) { 
      mMap.setMyLocationEnabled(true); 
     } else { 
      Toast.makeText(getApplicationContext(), "oh, no", Toast.LENGTH_LONG).show(); 
     } 
     Toast.makeText(getApplicationContext(), "test"+mLastLocation.getLatitude(), Toast.LENGTH_LONG).show(); #Here is what i want. 
    } 
} 

私はmMap.setMyLocationEnabled(true);の結果のLatitude or Longitudeを取得します。は、何か良い方法か方法があります:

が、コードの上には

 FATAL EXCEPTION: main 
    Process: com.example.keepair.myapplication_maptest, PID: 15483 
java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference 
at com.example.keepair.myapplication_maptest.MapsActivity.onMapReady(MapsActivity.java:48) 

質問を返さ?

あなたの回答がmMap.setMyLocationEnabled(true);の結果のLatitude or Longitudeを得る方法を正確に示していないかどうかは気にしません。

あなたの回答が最後の位置情報を確認する場合は問題ありません。

あなたの回答が最後にclicked point's coordinatesまたはsetMyLocation's coordinatesのgooglemapで確認されても幸いです。

私にお知らせください。

+2

こちらの回答をご覧ください:http://stackoverflow.com/questions/34582370/how-can-i-use-google-maps-and-locationmanager-to-show-current-location-on-androi –

+1

これは、最後の場所を取得するのに役立ちます。https://developer.android.com/training/location/retrieve-current.html – user1506104

答えて

1

docsから、最後の位置を取得するには:

public class MainActivity extends ActionBarActivity implements 
     ConnectionCallbacks, OnConnectionFailedListener { 
    ... 
    @Override 
    public void onConnected(Bundle connectionHint) { 
     mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
       mGoogleApiClient); 
     if (mLastLocation != null) { 
      mLatitudeText.setText(String.valueOf(mLastLocation.getLatitude())); 
      mLongitudeText.setText(String.valueOf(mLastLocation.getLongitude())); 
     } 
    } 
} 

はそれが役に立てば幸い!

関連する問題