Cheers, I'm trying to get the current GPS-Location via Android. I followed this Tutorial and Vogellas article aswell. Though it ain't working. When using LocationManager.NETWORK_PROVIDER I'm always getting a latitude of 51 and longitude of 9 - no matter where I stand. When using LocationManager.GPS_PROVIDER, I'm getting nothing at all.
Though Everything works when using GMaps :S No idea why. How can I get the current GPS Location like GMaps does?
Here's my code:
package com.example.gpslocation; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.util.Log; import android.view.Menu; public class GPS_Location extends Activity implements LocationListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gps__location); LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.gps__location, menu); return true; } @Override public void onLocationChanged(Location location) { // TODO Auto-generated method stub int latitude = (int) (location.getLatitude()); int longitude = (int) (location.getLongitude()); Log.i("Geo_Location", "Latitude: " + latitude + ", Longitude: " + longitude); } @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 } }
Google Find My Device is a free app that allows you to trace your phone. You can track any device on your Android phone with this software.
Even without cell service, Android devices and iPhones can be tracked. Your phone's mapping apps can track your phone's location without an internet connection.
Here's your problem:
int latitude = (int) (location.getLatitude()); int longitude = (int) (location.getLongitude());
Latitude and Longitude are double
-values, because they represent the location in degrees.
By casting them to int
, you're discarding everything behind the comma, which makes a big difference. See "Decimal Degrees - Wiki"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With