J'ai essayé d'obtenir une adresse à partir d'un emplacement pointé sur google maps et obtenir cette erreur:
Blockquote EXCEPTION FATAL: principal processus: elder.msu.testlocationapp, PID: 23559 java.lang.RuntimeException: Impossible d'instancier activité ComposantInfo {elder.msu.testlocationapp / elder.msu.testlocationapp.MapsActivity}: java.lang.NullPointerException: Tentative à lire à partir de « double com.google.android.gms.maps.model.LatLng.latitude » champ sur une référence d'objet à null android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2366) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2515) à android.app.ActivityThread.access 1000 $ (ActivityThread.java:154) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1379) à android.os.Handler.dispatchMessage (Handler .java: 102) à android.os.Looper.loop (Looper.java:157) à android.app.ActivityThread.main (ActivityThread.java:5571) à java.lang.reflect.Method.invoke (native Method) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:745) à com.android.internal.os.ZygoteInit.main (Zygot eInit.java:635) causée par: java.lang.NullPointerException: Tentative de lecture du « double com.google.android.gms.maps.model.LatLng.latitude » sur une référence d'objet à null elder.msu.testlocationapp champ. MapsActivity. (MapsActivity.java:32) à java.lang.Class.newInstance (native Method) à android.app.Instrumentation.newActivity (Instrumentation.java:1068) à android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2356 ) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2515) à android.app.ActivityThread.access 1000 $ (ActivityThread.java:154) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1379) à android.os.Handler.dispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:157) à android.app.ActivityThread.main (ActivityThread.java:5571) à java.lang.reflect .Method.invoke (native Method) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:745) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:6 35)
Je tout nécessaire dans mon manifeste. Voici mon code pour l'activité de carte
public void onMapReady(GoogleMap googleMap) {
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
markerOptions.position(latLng);
markerOptions.title(latLng.latitude : latLng.longitude);
mMap.clear();
mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.addMarker(markerOptions);
}
});
private void getAddress(){
Geocoder geocoder;
final List<Address> addresses;
geocoder = new Geocoder(this, Locale.getDefault());
try{
addresses = geocoder.getFromLocation(latitude,longitude,1);
if (addresses!=null && addresses.size() > 0){
address = addresses.get(0).getAddressLine(0);
city = addresses.get(0).getLocality();
}
}catch (IOException e){
e.printStackTrace();
Toast.makeText(getApplicationContext(), Cannot get data, Toast.LENGTH_SHORT).show();
}
btnOK.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getAddress();
confirmData(address, city);
}
});
}
private void confirmData(String address, String city) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
Bundle bundle = new Bundle();
intent.putExtra(data, bundle);
intent.putExtra(address, address);
intent.putExtra(city, city);
startActivity(intent);
finish();
}













