Désolé pour la question répétée mais je ne peux pas obtenir la solution des questions précédentes. Je veux cartographier GPS (Latitude, Longitude) de mysql sur google map. Je reçois lat et long de mysql mais quand je tente de le mapper sur google map, mon application se bloque. J'ai beaucoup essayé mais ça ne marche pas. Elle retournel'application se bloque lorsque vous essayez d'appeler la méthode getMapAsync()
erreurobjet null référence
dans logcat. Il n'est pas probable que la référence d'objet null précédente.
Ma classe RecGPS Le code est ici.
public class RecGPS extends AppCompatActivity{
private GoogleMap mMap;
Button btn;
private ProgressDialog loading;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rec_gps);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
recGps();
}
});
}
private void recGps() {
loading = ProgressDialog.show(this, "Please wait ......", "fetching....", false, false);
String url = Config.URL_CARD_INFO;
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
loading.dismiss();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(RecGPS.this, error.getMessage().toString(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response) {
String latitude = "";
String longitude = "";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Config.TAG_JSON_ARRAY);
JSONObject collegeData = result.getJSONObject(0);
latitude = collegeData.getString(Config.TAG_ISSUE_DATE);
longitude = collegeData.getString(Config.TAG_Expiry_DATE);
} catch (JSONException e) {
e.printStackTrace();
}
Toast.makeText(this,latitude+longitude,Toast.LENGTH_LONG).show();
// ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMapAsync(this);
((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
mMap=googleMap;
}
});
mMap.addMarker(new MarkerOptions().position(new LatLng(Double.parseDouble(longitude), Double.parseDouble(latitude))));
}
}
mon .XML fichier
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_rec_gps"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.hp.getgpscoordinates.RecGPS">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="400dp">
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
android:clickable="true"
android:name="com.google.android.gms.maps.SupportMapFragment"
/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btn"/>
</LinearLayout>
Logcat
Attempt to invoke virtual method 'void com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' on a null object reference
at com.example.hp.getgpscoordinates.RecGPS.showJSON(RecGPS.java:92)
at com.example.hp.getgpscoordinates.RecGPS.access$200(RecGPS.java:25)
at com.example.hp.getgpscoordinates.RecGPS$2.onResponse(RecGPS.java:56)
at com.example.hp.getgpscoordinates.RecGPS$2.onResponse(RecGPS.java:52)
at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60)
at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
ajouter votre rapport logcat s'il vous plaît –
Ajouter Crashlog à la question – USKMobility
Où est votre méthode 'onMapReady()', et les autres méthodes de cycle de vie Google Map? Aucune infraction, mais ce code a une odeur. Mon conseil: ajoutez des points d'arrêt et localisez exactement l'endroit où le code plante. –