Get Current Location coordinates , City name
Sometime we need to get GPS coordinates in android. so today i am going to write step by step simple tutorial How can we get location coordinates using GPS in android mobile.
also through coordinate we can calculate current location more details like City Name.
Note: I have tested this app on My Android Mobile and its working fine.
But when you test this app, enable your gps settings in mobile, you need to change current location like 10-20 meter so you will get the coordinates, so need to move with the installed app mobile device.
What this app does?
-------------------------------------------
App Name: GetCurrentLocation
Package Name: com.rdc
Android SDK: Android SDK 2.3.3 / API 10
Default Activity Name: GetCurrentLocation
-------------------------------------------
GetCurrentLocation.java
main.xml
AndroidManifest.xml
The output Screen will be like this..
You can download the complete source code zip file here : GetCurrentLocation
cheers!!
I'd love to hear your thoughts!
also through coordinate we can calculate current location more details like City Name.
Note: I have tested this app on My Android Mobile and its working fine.
But when you test this app, enable your gps settings in mobile, you need to change current location like 10-20 meter so you will get the coordinates, so need to move with the installed app mobile device.
What this app does?
- Check gps is enable or disable.
- Get gps coordinates.
- Get the current city name.
-------------------------------------------
App Name: GetCurrentLocation
Package Name: com.rdc
Android SDK: Android SDK 2.3.3 / API 10
Default Activity Name: GetCurrentLocation
-------------------------------------------
GetCurrentLocation.java
package com.rdc; import java.io.IOException; import java.util.List; import java.util.Locale; import android.app.Activity; import android.app.AlertDialog; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; import android.location.Address; import android.location.Geocoder; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.provider.Settings; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ProgressBar; import android.widget.Toast; public class GetCurrentLocation extends Activity implements OnClickListener { private LocationManager locationMangaer=null; private LocationListener locationListener=null; private Button btnGetLocation = null; private EditText editLocation = null; private ProgressBar pb =null; private static final String TAG = "Debug"; private Boolean flag = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //if you want to lock screen for always Portrait mode setRequestedOrientation(ActivityInfo .SCREEN_ORIENTATION_PORTRAIT); pb = (ProgressBar) findViewById(R.id.progressBar1); pb.setVisibility(View.INVISIBLE); editLocation = (EditText) findViewById(R.id.editTextLocation); btnGetLocation = (Button) findViewById(R.id.btnLocation); btnGetLocation.setOnClickListener(this); locationMangaer = (LocationManager) getSystemService(Context.LOCATION_SERVICE); } @Override public void onClick(View v) { flag = displayGpsStatus(); if (flag) { Log.v(TAG, "onClick"); editLocation.setText("Please!! move your device to"+ " see the changes in coordinates."+"\nWait.."); pb.setVisibility(View.VISIBLE); locationListener = new MyLocationListener(); locationMangaer.requestLocationUpdates(LocationManager .GPS_PROVIDER, 5000, 10,locationListener); } else { alertbox("Gps Status!!", "Your GPS is: OFF"); } } /*----Method to Check GPS is enable or disable ----- */ private Boolean displayGpsStatus() { ContentResolver contentResolver = getBaseContext() .getContentResolver(); boolean gpsStatus = Settings.Secure .isLocationProviderEnabled(contentResolver, LocationManager.GPS_PROVIDER); if (gpsStatus) { return true; } else { return false; } } /*----------Method to create an AlertBox ------------- */ protected void alertbox(String title, String mymessage) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Your Device's GPS is Disable") .setCancelable(false) .setTitle("** Gps Status **") .setPositiveButton("Gps On", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // finish the current activity // AlertBoxAdvance.this.finish(); Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS); startActivity(myIntent); dialog.cancel(); } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // cancel the dialog box dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); } /*----------Listener class to get coordinates ------------- */ private class MyLocationListener implements LocationListener { @Override public void onLocationChanged(Location loc) { editLocation.setText(""); pb.setVisibility(View.INVISIBLE); Toast.makeText(getBaseContext(),"Location changed : Lat: " + loc.getLatitude()+ " Lng: " + loc.getLongitude(), Toast.LENGTH_SHORT).show(); String longitude = "Longitude: " +loc.getLongitude(); Log.v(TAG, longitude); String latitude = "Latitude: " +loc.getLatitude(); Log.v(TAG, latitude); /*----------to get City-Name from coordinates ------------- */ String cityName=null; Geocoder gcd = new Geocoder(getBaseContext(), Locale.getDefault()); List addresses; try { addresses = gcd.getFromLocation(loc.getLatitude(), loc .getLongitude(), 1); if (addresses.size() > 0) System.out.println(addresses.get(0).getLocality()); cityName=addresses.get(0).getLocality(); } catch (IOException e) { e.printStackTrace(); } String s = longitude+"\n"+latitude + "\n\nMy Currrent City is: "+cityName; editLocation.setText(s); } @Override public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } } }
main.xml
AndroidManifest.xml
The output Screen will be like this..
You can download the complete source code zip file here : GetCurrentLocation
cheers!!
I'd love to hear your thoughts!
Comments