android - How to Get Last Known Location in Fragment Class? -
i want create location-aware app , followed various tutorials on youtube. stumbled upon getting last known location tutorial google seems it's activity class. can't find tutorials uses fragment class.
i want show marker on current location when fragment view created.
here's code:
import android.content.pm.packagemanager; import android.os.bundle; import android.support.annotation.nullable; import android.support.v4.app.fragment; import android.support.v4.content.contextcompat; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.toast; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.mapview; import com.google.android.gms.maps.onmapreadycallback; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; import com.tugboat.tugboat.r; public class mapfragment extends fragment implements onmapreadycallback { private mapview mapview; private googlemap googlemap; @nullable @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { return inflater.inflate(r.layout.fragment_map,container,false); } @override public void onviewcreated(view view, @nullable bundle savedinstancestate) { super.onviewcreated(view, savedinstancestate); mapview = (mapview) view.findviewbyid(r.id.map); mapview.oncreate(savedinstancestate); mapview.onresume(); mapview.getmapasync(this);//when implement onmapreadycallback in fragment } public void onresume() { super.onresume(); mapview.onresume(); } @override public void onpause() { mapview.onpause(); super.onpause(); } @override public void ondestroy() { mapview.ondestroy(); super.ondestroy(); } @override public void onlowmemory() { super.onlowmemory(); mapview.onlowmemory(); } @override public void onsaveinstancestate(bundle outstate) { super.onsaveinstancestate(outstate); mapview.onsaveinstancestate(outstate); } @override public void onmapready(googlemap map) { googlemap = map; if (contextcompat.checkselfpermission(getactivity(), android.manifest.permission.access_fine_location) == packagemanager.permission_granted) { googlemap.setmylocationenabled(true); map.addmarker(new markeroptions().position(new latlng(0, 0)).title("marker")); } else { toast.maketext(getactivity(), "you have accept enjoy app's services!", toast.length_long).show(); if (contextcompat.checkselfpermission(getactivity(), android.manifest.permission.access_fine_location) == packagemanager.permission_granted) { googlemap.setmylocationenabled(true); map.addmarker(new markeroptions().position(new latlng(0, 0)).title("marker")); } } } }
Comments
Post a Comment