onLocationChanged не вызывается автоматически

У меня проблема с событием onLocationChanged в Android. Вот триггер:

case R.id.start: {
    Points.add(overlay.getMyLocation()); // Points' type is ArrayList<GeoPoint>
    mgr.requestLocationUpdates(best, 0, 3, locationListener);
    }
    break;

А вот метод onLocationChanged:

public void onLocationChanged(Location location) {
    i++;
    Points.add(overlay.getMyLocation());
    MapOverlay mapOverlay = new MapOverlay(Points.get(i-1), Points.get(i));
    map.getOverlays().add(mapOverlay); //does the drawing
    mMapController.animateTo(Points.get(i));
}

Итак, onLocationChanged вызывается только один раз и только после того, как я нажимаю «старт». Он должен вызываться автоматически каждый раз, когда местоположение меняется, верно? В моем случае это не так.
Пожалуйста, помогите мне.

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

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