gps - How to get lattitude and longitude in android -


this question has answer here:

hello stack overflowers,

i want lattitude , longitude in application.

i using below snippet doing job. alert dialog box , when tick mark "use gps satellites" option. don't output if nothing happening. gps being turned on.

could guyz please me correcting below snippet.

sorry inconvenience caused guyz :(

and answering previous questions. :d

cheers!

this java file writing functions related getting locations etc etc

gpstracker.java

package com.iot.mymumbaimetro;  import android.app.alertdialog; import android.app.service; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.location.location; import android.location.locationlistener; import android.location.locationmanager; import android.os.bundle; import android.os.ibinder; import android.provider.settings; import android.util.log;  public class gpstracker extends service implements locationlistener {  private final context mcontext;  // flag gps status boolean isgpsenabled = false;  // flag network status boolean isnetworkenabled = false;  // flag gps status boolean cangetlocation = false;  location location; // location double latitude; // latitude double longitude; // longitude  // minimum distance change updates in meters private static final long min_distance_change_for_updates = 10; // 10 meters  // minimum time between updates in milliseconds private static final long min_time_bw_updates = 1000 * 60 * 1; // 1 minute  // declaring location manager protected locationmanager locationmanager;  public gpstracker(context context) {     this.mcontext = context;     getlocation(); }  public location getlocation() {     try {         locationmanager = (locationmanager) mcontext                 .getsystemservice(location_service);          // getting gps status         isgpsenabled = locationmanager                 .isproviderenabled(locationmanager.gps_provider);          // getting network status         isnetworkenabled = locationmanager                 .isproviderenabled(locationmanager.network_provider);          if (!isgpsenabled && !isnetworkenabled) {             // no network provider enabled         } else {             this.cangetlocation = true;             // first location network provider             if (isnetworkenabled) {                 locationmanager.requestlocationupdates(                         locationmanager.network_provider,                         min_time_bw_updates,                         min_distance_change_for_updates, this);                 log.d("network", "network");                 if (locationmanager != null) {                     location = locationmanager                             .getlastknownlocation(locationmanager.network_provider);                     if (location != null) {                         latitude = location.getlatitude();                         longitude = location.getlongitude();                     }                 }             }             // if gps enabled lat/long using gps services             if (isgpsenabled) {                 if (location == null) {                     locationmanager.requestlocationupdates(                             locationmanager.gps_provider,                             min_time_bw_updates,                             min_distance_change_for_updates, this);                     log.d("gps enabled", "gps enabled");                     if (locationmanager != null) {                         location = locationmanager                                 .getlastknownlocation(locationmanager.gps_provider);                         if (location != null) {                             latitude = location.getlatitude();                             longitude = location.getlongitude();                         }                     }                 }             }         }      } catch (exception e) {         e.printstacktrace();     }      return location; }  /**  * stop using gps listener  * calling function stop using gps in app  * */ public void stopusinggps(){     if(locationmanager != null){         locationmanager.removeupdates(gpstracker.this);     }        }  /**  * function latitude  * */ public double getlatitude(){     if(location != null){         latitude = location.getlatitude();     }      // return latitude     return latitude; }  /**  * function longitude  * */ public double getlongitude(){     if(location != null){         longitude = location.getlongitude();     }      // return longitude     return longitude; }  /**  * function check gps/wifi enabled  * @return boolean  * */ public boolean cangetlocation() {     return this.cangetlocation; }  /**  * function show settings alert dialog  * on pressing settings button lauch settings options  * */ public void showsettingsalert(){     alertdialog.builder alertdialog = new alertdialog.builder(mcontext);      // setting dialog title     alertdialog.settitle("gps settings");      // setting dialog message     alertdialog.setmessage("gps not enabled. want go settings menu?");      // on pressing settings button     alertdialog.setpositivebutton("settings", new dialoginterface.onclicklistener() {         public void onclick(dialoginterface dialog,int which) {             intent intent = new intent(settings.action_location_source_settings);             mcontext.startactivity(intent);         }     });      // on pressing cancel button     alertdialog.setnegativebutton("cancel", new dialoginterface.onclicklistener() {         public void onclick(dialoginterface dialog, int which) {         dialog.cancel();         }     });      // showing alert message     alertdialog.show(); }  @override public void onlocationchanged(location location) { }  @override public void onproviderdisabled(string provider) { }  @override public void onproviderenabled(string provider) { }  @override public void onstatuschanged(string provider, int status, bundle extras) { }  @override public ibinder onbind(intent arg0) {     return null; }  } 

below activity .java file getting current location :

trackmyroute.java

package com.iot.mymumbaimetro;  import android.app.activity; import android.content.context; import android.graphics.bitmap; import android.graphics.bitmapfactory; import android.graphics.drawable.bitmapdrawable; import android.location.criteria; import android.location.location; import android.location.locationlistener; import android.location.locationmanager; import android.os.bundle; import android.widget.textview; import android.widget.toast;  public class trackmyroute extends activity{  protected locationmanager locationmanager; protected locationlistener locationlistener; protected context context; textview txtlat; string lat; string provider; protected string latitude,longitude;  protected boolean gps_enabled,network_enabled;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.track_my_route);      /*set background of action bar drawable*/     bitmap bmap = bitmapfactory.decoderesource(getresources(), r.drawable.red_bg);     bitmapdrawable actionbarbackground = new bitmapdrawable(getresources(), bmap);     getactionbar().setbackgrounddrawable(actionbarbackground);      gpstracker gps=new gpstracker(trackmyroute.this);   //check if gps enabled          if(gps.cangetlocation()){          double latitude = gps.getlatitude();         double longitude = gps.getlongitude();          // \n new line         toast.maketext(getapplicationcontext(), "your location - \nlat: " + latitude + "\nlong: " + longitude, toast.length_long).show();         }else{         // can't location         // gps or network not enabled         // ask user enable gps/network in settings         gps.showsettingsalert();     }    }  } 

do way.it show dialog if gps disabled , ask user enable it. press "yes" take user setting screen enable gps.

public void checkgpsenabled(){         final locationmanager manager = (locationmanager) getsystemservice( context.location_service );          if ( !manager.isproviderenabled( locationmanager.gps_provider ) ) {             buildalertmessagenogps();         }     }       private void buildalertmessagenogps() {         final alertdialog.builder builder = new alertdialog.builder(this);         builder.setmessage("your gps disabled, please enable it?")                 .setcancelable(false)                 .setpositivebutton("yes", new dialoginterface.onclicklistener() {                     public void onclick(final dialoginterface dialog,final int id) {                         startactivity(new intent(android.provider.settings.action_location_source_settings));                     }                 })                 .setnegativebutton("no", new dialoginterface.onclicklistener() {                     public void onclick(final dialoginterface dialog, final int id) {                         dialog.cancel();                     }                 });         final alertdialog alert = builder.create();         alert.show();     } 

complete guide example current location here


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -