Note that there are some explanatory texts on larger screens.

plurals
  1. POandroid get zipcode of India from latitude and longitude
    text
    copied!<p>I need to get the zip code from a latitude and longitude, Im able to get the address with street names but cannot get the zip code. String <strong>pCode</strong> is returning <strong>Null</strong> in the below code. Below is the code I'm using:</p> <pre><code> 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; String addrs = null; String pCode = null; Geocoder gcd = new Geocoder(getBaseContext(), Locale.getDefault()); List&lt;Address&gt; addresses; try { addresses = gcd.getFromLocation(loc.getLatitude(), loc.getLongitude(), 1); if (addresses.size() &gt; 0) System.out.println(addresses.get(0).getLocality()); cityName=addresses.get(0).getLocality(); addrs = addresses.get(0).getAddressLine(0); pCode = addresses.get(0).getPostalCode(); } catch (IOException e) { e.printStackTrace(); } String s = longitude+"\n"+latitude +"\n\nMy Currrent City is: "+cityName+" Address "+ addrs+ " Postal Code"+pCode; 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 } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload