wiki:OletTassaKomponentti
Last modified 8 years ago Last modified on 2010-04-19 13:36:50

OletTassa (komponenttimuoto)

package fi.jyu.mit.android.gps.oletTassa;

import java.util.List;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.Overlay;
import fi.jyu.mit.android.gps.oletTassa.GoogleMapsActivity.GoogleMapsLocationListener;
import android.location.Location;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.CompoundButton.OnCheckedChangeListener;

/**
 * Olet Tässä! (komponenttiversio)
 * 
 * Paikannusohjelma, jolla näet hetkellisen sijaintisi Googlekartalla.
 * Paikannu suoritetaan GPS:n ja tukiasemien avulla.
 * 
 * 
 * @author Jussi Perttola, Matti Välimäki
 * @version 1.12
 */
public class OletTassa extends GoogleMapsActivity implements OnCheckedChangeListener,  GoogleMapsLocationListener  {

    /** 
     * Syntymävaiheen hommat
     * Alustetaan arvoja ja pannaan homma käyntiin.
     * @param savedInstanceState oletustila
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setLocationListener(this);       
    }
    
    /**
     * GPS-sijaintitiedon muutoshallinta
     * @param loc sijainti
     */
    public void onLocationChanged(Location loc) {
                currentLatitude  =  loc.getLatitude();
                currentLongitude =  loc.getLongitude();     
                
                TextView locationText = (TextView) findViewById(R.id.location);
                locationText.setText(Location.convert(currentLatitude, Location.FORMAT_SECONDS) 
                        + ", " + Location.convert(currentLongitude, Location.FORMAT_SECONDS));
                
                point = new GeoPoint(
                        (int) (currentLatitude * 1E6), 
                        (int) (currentLongitude * 1E6));
             
                mapControl.animateTo(point);
                // lisätään merkki kartalle
                MapOverlay mapOverlay = new MapOverlay();
                List<Overlay> listOfOverlays = mapView.getOverlays();
                listOfOverlays.clear();
                listOfOverlays.add(mapOverlay);        
                mapView.invalidate();
    }

}