How to find Current Location' Latitude Longitude

I want to develope an app in which when i start the app it will first give me Latitude and Longitude of my current location. Here is my code:

   LocationListener locLis=new LocationListener() {

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}      
@Override
public void onProviderEnabled(String provider) {}           
@Override
public void onProviderDisabled(String provider) {}  
@Override
public void onLocationChanged(Location location) 
{
// TODO Auto-generated method stub
   Double lat=location.getLatitude();
   Double lon=location.getLongitude();
   Log.i("Latitude=="+lat,"=="+lon);

}
};
 locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
 locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER,0,0, locLis);

I use ACCESS_FINE_LOCATION in the manifest file. But when i start the app there is no latitude and longitude it found. Why? If i change the location's latitude longitude from the command prompt then it will show the updated latitude and longitude. Please anyone help me

Answers


Take this code and enjoy

public void find_Location(Context con) { Log.d("Find Location", "in find_location"); this.con=con; String location_context = Context.LOCATION_SERVICE; locationManager = (LocationManager)con.getSystemService(location_context);

    List<String> providers = locationManager.getProviders(true);
   for (String provider : providers) 
   {
       locationManager.requestLocationUpdates(provider, 1000, 0,new LocationListener()
       {
           public void onLocationChanged(Location location) {}
           public void onProviderDisabled(String provider){}
           public void onProviderEnabled(String provider){}
           public void onStatusChanged(String provider, int status,Bundle  extras){}
       });
       Location location = locationManager.getLastKnownLocation(provider);
       if (location != null)
       {
           latitude = location.getLatitude();
           longitude = location.getLongitude();
           addr=ConvertPointToLocation(latitude,longitude);
                   String temp_c=SendToUrl(addr);

       } 
   }
}

public String ConvertPointToLocation(double pointlat,double pointlog) {

    String address = "";
    Geocoder geoCoder = new Geocoder(con,
            Locale.getDefault());
    try {
        List<Address> addresses = geoCoder.getFromLocation(pointlat,pointlog, 1);
        if (addresses.size() > 0) {
            for (int index = 0; index < addresses.get(0)
                    .getMaxAddressLineIndex(); index++)
                address += addresses.get(0).getAddressLine(index) + " ";
        }
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    return address;
}  

Your code is set to display the location only when it changes. I think in order to display it when the app starts, you should try putting it in onProviderEnabled() or some other initialization routine.


You should do like this

            public class MyLocationListener implements LocationListener
{

    @Override
    public void onLocationChanged(Location loc)

    {}

            @Override
    public void onProviderDisabled(String provider)
    {}
            @Override
    public void onProviderEnabled(String provider)
    {}
             @Override
            public void onStatusChanged(String provider, int status, Bundle extras)
    {

    }
       }
     mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    mlocListener = new MyLocationListener();

     mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

Need Your Help

Is it possible to override the function called by add button in Share Menu of AddThis API for ios?

iphone objective-c ios addthis

I have implemented AddThis API for ios and I want to override the method that is called by addbutton on Right side of top bar as displayed in image below:

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.