/***
 * Wyciąg z książki "Hello, Android!",
 * opublikowanej przez wydawnictwo Helion S.A.
 * Niniejszy kod jest chroniony prawami autorskimi. Nie może zostać wykorzystany do utworzenia 
 * materiałów treningowych, kursów, książek, artykułów, itp. Prosimy o kontakt w razie
 * pojawienia się wątpliwości.
 * Nie gwarantujemy, że niniejszy kod będzie się nadawał do jakiegokolwiek celu. 
 * Więcej informacji można znaleźć na stronie http://www.pragmaticprogrammer.com/titles/eband.
***/
package org.przyklad.mojamapa;

import android.os.Bundle;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;

public class MojaMapa extends MapActivity {
    private MapView mapa;
    private MapController kontroler;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        uruchomWidokMapy();
        uruchomMojaLokalizacje();
    }
    
    /** Znajduje i inicjuje widok mapy */   
    private void uruchomWidokMapy() {
        mapa = (MapView) findViewById(R.id.mapa);
        kontroler = mapa.getController();
        mapa.setSatellite(true);
        mapa.setBuiltInZoomControls(true);
    }

    /** Rozpoczyna śledzenie pozycji na mapie */
    private void uruchomMojaLokalizacje() {
        final MyLocationOverlay powloka = new MyLocationOverlay(this, mapa);
        powloka.enableMyLocation();
        //powloka.enableCompass(); // nie działa na emulatorze
        powloka.runOnFirstFix(new Runnable() {
            public void run() {
                // Przybliża mapę do naszej lokacji
                kontroler.setZoom(8);
                kontroler.animateTo(powloka.getMyLocation());
            }
        });
        mapa.getOverlays().add(powloka);
    }

    @Override
    protected boolean isRouteDisplayed() {
        // Wymagane przez klasę MapActivity
        return false;
    }
}
