Получить текущее местоположение 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) {

        }
    });

Ответы на вопрос(2)

Ваш ответ на вопрос