Current Location Now showing up

Put problem concerning MapActivities, MapViews, Overlays and GPS in this forum.

Current Location Now showing up

Postby whowantit32 » Sun Sep 19, 2010 6:11 am

Hello anddev, I have a problem. my code is not working properly on retrieving my current location. I just want to retrieve the lat and long in a simple text format. I dont want a mapview or anything like that, no api key etc, just simply retrieve the lat and long like this guy did here http://blogoscoped.com/archive/2008-12-15-n14.html . Please help me I have been working on this for awhile and not sure why its not pulling my location. Its not erroring its just saying cannot get location. my code is below.

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. private LocationManager locationManager;
  2.         private Criteria criteria;
  3.         private Location currentLocation;
  4.         @Override
  5.          public void onCreate(Bundle icicle) {
  6.                 super.onCreate(icicle);
  7.                // GetLocation();
  8.              // fillData();
  9.               setContentView(R.layout.tabbrowse);
  10.               locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
  11.                           criteria = new Criteria();
  12.                          criteria.setAccuracy(Criteria.ACCURACY_FINE);
  13.                          criteria.setAltitudeRequired(false);
  14.                          criteria.setBearingRequired(false);
  15.                          criteria.setCostAllowed(true);
  16.                          criteria.setPowerRequirement(Criteria.POWER_LOW);
  17.         }
  18.                          private final LocationListener locationListener = new LocationListener() {
  19.                                     public void onLocationChanged(Location location) {
  20.                                       updateWithNewLocation(location);
  21.                                     }
  22.                                    
  23.                                     public void onProviderDisabled(String provider){
  24.                                       updateWithNewLocation(null);
  25.                                     }
  26.  
  27.                                     public void onProviderEnabled(String provider) {}
  28.  
  29.                                     public void onStatusChanged(String provider, int status, Bundle extras) {}
  30.                                   };
  31.                                   private void updateWithNewLocation(Location location) {
  32.                                           // Update your current location
  33.                                           currentLocation = location;
  34.                                          
  35.                                           // Refresh the ArrayList of contacts
  36.                             if (location != null)
  37.                                 Toast.makeText(getApplicationContext(),"location is null", Toast.LENGTH_LONG).show();
  38. //                                    refreshListView();
  39.  
  40.                                           // Geocode your current location to find an address.
  41.                                           String latLongString = "";
  42.                                           String addressString = "No address found";
  43.                                          
  44.                                     if (location != null) {
  45.                                         Toast.makeText(getApplicationContext(), "We Have Location", Toast.LENGTH_LONG).show();
  46.                                       double lat = location.getLatitude();
  47.                                       double lng = location.getLongitude();
  48.                                       latLongString = "Lat:" + lat + "\nLong:" + lng;
  49.  
  50.                                       Geocoder gc = new Geocoder(this, Locale.getDefault());
  51.                                       try {
  52.                                         List<Address> addresses = gc.getFromLocation(lat, lng, 1);
  53.                                         StringBuilder sb = new StringBuilder();
  54.                                         if (addresses.size() > 0) {
  55.                                           Address address = addresses.get(0);
  56.                                  
  57.                                           sb.append(address.getLocality()).append("\n");
  58.                                           sb.append(address.getCountryName());
  59.                                         }
  60.                                         addressString = sb.toString();
  61.                                       } catch (IOException e) {}
  62.                                     } else {
  63.                                       latLongString = "No location found";
  64.                                     }
  65.  
  66.                                     // Update the TextView to show your current address.
  67.                                    
  68.                                    Toast.makeText(getApplicationContext(), "Your Current Position is:\n" + latLongString + "\n" + addressString, Toast.LENGTH_LONG).show();
  69.                                         }
  70.                                   @Override
  71.                                   public void onStart() {
  72.                                     super.onStart();
  73.                                    
  74.                                     // Find a Location Provider to use.
  75.                                     String provider = locationManager.getBestProvider(criteria, true);
  76.                                     // Update the GUI with the last known position.
  77.                                     Location location = locationManager.getLastKnownLocation(provider);
  78.                                     updateWithNewLocation(location);
  79.  
  80.                                     // Register the LocationListener to listen for location changes
  81.                                     // using the provider found above.
  82.                                     locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);
  83.                                   }
  84.                                   @Override
  85.                                   public void onStop() {
  86.                                     // Unregister the LocationListener to stop updating the
  87.                                     // GUI when the Activity isn't visible.
  88.                                     locationManager.removeUpdates(locationListener);
  89.  
  90.                                     super.onStop();
  91.                                   }
Parsed in 0.043 seconds, using GeSHi 1.0.8.4
whowantit32
Junior Developer
Junior Developer
 
Posts: 16
Joined: Sat Sep 04, 2010 2:48 pm

Top

Re: Current Location Now showing up

Postby pranav09 » Tue Sep 21, 2010 6:04 am

What are you getting in LogCat? Can you show it here?
Pranav
User avatar
pranav09
Senior Developer
Senior Developer
 
Posts: 128
Joined: Mon Jan 19, 2009 12:01 pm
Location: Ahmedabad, India

Top

Return to Map Problems

Who is online

Users browsing this forum: No registered users and 1 guest