Получить текущее местоположение GMaps
Я пытался много "получить текущее местоположение" для Android. Но я думаю, что большинство из них устарели, или я просто не понимаю.
Я не хочу устанавливать marker.addmarker (params ..) Я хотел бы использовать синюю точку по умолчанию для моей позиции в Gmaps. Здесь я нашел что-то об этом, но для моего плохо это также не работает.
Настройте маркер myLocation в Google Maps v2 для Android
Итак, в первой строке мне нужно мое текущее местоположение с прослушивателем, когда мое местоположение обновляется. Я пытаюсь это прямо сейчас (тестирование на реальном устройстве). Но myLocation всегда = null.
//get GMaps Fragment
mMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.setMyLocationEnabled(true); //activate Blue dot
myLocation = mMap.getMyLocation(); //Testing, but not working = null
//Trying with LocationManager
locManager =(LocationManager)getSystemService(this.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locManager.getBestProvider(criteria, true);
myLocation = locManager.getLastKnownLocation(provider);
if(myLocation != null){
double lat = myLocation.getLatitude();
double lon = myLocation.getLongitude();
}
locManager.requestLocationUpdates(provider, 1000, 0, new LocationListener() {
@Override
public void onLocationChanged(Location location) {
myLocation = location;
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
});