package com.example.sander.app; import android.app.fragment; /** * created sander on 4-4-2017. */ import android.app.fragment; import android.content.pm.packagemanager; import android.location.address; import android.location.geocoder; import android.os.bundle; import android.support.annotation.nullable; import android.support.v4.app.activitycompat; import android.support.v4.content.contextcompat; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.manifest; import com.android.volley.request; import com.android.volley.requestqueue; import com.android.volley.response; import com.android.volley.volleyerror; import com.android.volley.toolbox.stringrequest; import com.android.volley.toolbox.volley; import com.google.android.gms.maps.cameraupdatefactory; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.mapfragment; import com.google.android.gms.maps.mapview; import com.google.android.gms.maps.mapsinitializer; import com.google.android.gms.maps.onmapreadycallback; import com.google.android.gms.maps.model.bitmapdescriptorfactory; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import java.util.arraylist; import java.util.list; import java.util.locale; public class googlemaps extends fragment implements onmapreadycallback { arraylist<string> list = new arraylist<>(); arraylist<double> latitude = new arraylist<>(); arraylist<double> longitude = new arraylist<>(); public googlemaps(){ } @nullable @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { return inflater.inflate(r.layout.fragment_gmaps, container, false); } @override public void onviewcreated(view view, bundle savedinstancestate) { requestqueue rq = volley.newrequestqueue(getactivity().getapplicationcontext()); string url= "http://test.dontstealmywag.ga/api/parkgarage.php"; stringrequest stringrequest = new stringrequest(request.method.get, url, new response.listener<string>() { @override public void onresponse(string response) { // response try{ jsonobject o = new jsonobject(response); jsonarray values=o.getjsonarray("parkgarage"); ( int i=0; i< values.length(); i++) { jsonobject jsonobject = values.getjsonobject(i); list.add(jsonobject.getstring("parkgarage_name")); longitude.add(jsonobject.getdouble("langitude")); latitude.add(jsonobject.getdouble("longitude")); } } catch (jsonexception ex){} } }, new response.errorlistener() { @override public void onerrorresponse(volleyerror error) { // handle error } }); rq.add(stringrequest); super.onviewcreated(view, savedinstancestate); mapview mapview = (mapview) view.findviewbyid(r.id.map); mapview.oncreate(savedinstancestate); mapview.onresume(); // needed map display try { mapsinitializer.initialize(getactivity().getapplicationcontext()); } catch (exception e) { e.printstacktrace(); } mapview.getmapasync(this); } @override public void onmapready(googlemap googlemap) { latlng marker = new latlng(51.9244201, 4.4777325); for(integer = 0; < list.size(); i++){ googlemap.addmarker(new markeroptions().title(list.get(i)).position(new latlng(longitude.get(i), latitude.get(i)))); } googlemap.addmarker(new markeroptions().title("testing").position(marker)); googlemap.movecamera(cameraupdatefactory.newlatlngzoom(marker, 12)); //googlemap.addmarker(new markeroptions().title(list.get(1)).position(marker)); if (activitycompat.checkselfpermission(getactivity(), manifest.permission.access_fine_location) != packagemanager.permission_granted && activitycompat.checkselfpermission(getactivity(), manifest.permission.access_coarse_location) != packagemanager.permission_granted) { return; } googlemap.setmylocationenabled(true); googlemap.getuisettings().setcompassenabled(true); googlemap.getuisettings().setmylocationbuttonenabled(true); } @override public void onactivitycreated(bundle savedinstancestate) { super.onactivitycreated(savedinstancestate); } }
i've made code google maps api. i'm adding markers map, every seconde time hit "maps" in navigation activity of markers disappear. besides have recylerviewer doesn't data api when use inside oncreate method.
i think issue within json parser code. put in seperate class. me this?
try jsonutils, can parse of data types.
Comments
Post a Comment