package com.Taxi.Driver;

import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;

public class DriverMap extends MapActivity {
  /** Called when the activity is first created. */
 
 MapController mapcon;
  
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.map);
     // TODO Auto-generated method stub
 
     MapView mapview = (MapView)findViewById(R.id.maps);
     mapcon = mapview.getController();
     mapview.setSatellite(true);
     mapview.setBuiltInZoomControls(true);
     mapcon.setZoom(16);
    
     LocationManager loma;
     String context = Context.LOCATION_SERVICE;
     loma = (LocationManager)getSystemService(context);
    
     Criteria criteria = new Criteria();
     criteria.setAccuracy(Criteria.ACCURACY_FINE);
     criteria.setAltitudeRequired(false);
     criteria.setBearingRequired(false);
     criteria.setCostAllowed(true);
     criteria.setPowerRequirement(Criteria.POWER_LOW);
     String provider = loma.getBestProvider(criteria, true);
    
     Location location = loma.getLastKnownLocation(provider);
     UpdateLocation(location);
     loma.requestLocationUpdates(provider, 60000, 10, localis);
 }
 
 private LocationListener localis = new LocationListener(){
  public void onLocationChanged(Location location){
   UpdateLocation(location);}
  public void onProviderDisabled(String provider){
   UpdateLocation(null);}
  public void onProviderEnabled(String provider){}
  public void onStatusChanged(String provider, int status, Bundle extras){}
  };
  
  private void UpdateLocation(Location location){
   if (location != null){
    Double gLa = location.getLatitude()*1E6;
    Double gLo = location.getLongitude()*1E6;
    GeoPoint geop = new GeoPoint(gLa.intValue(),gLo.intValue());
    mapcon.animateTo(geop);
   }
  }
  
  
  @Override
  protected boolean isRouteDisplayed(){
   return false;}
  }


2.1 Google APIs 버젼이고  핸드폰은 옵티머스Z 로 2.1버젼입니다.

이클립스를 사용했으며,  책보며 혼자 공부하며 만든거라 많이 부족합니다.

에러는 없고, 어플에서 실행하면 맵뷰까지는 띄워지는데 위치이동을 알 수 가 없어서

핸드폰으로 실행을 했더니, 위치 이동도 없고 줌이 17레벨을 넘어가면 알수없는 에러로 예상치 못하게 종료되었습니다 라며

어플이 종료됩니다. ㅠㅜ  많은 조언 부탁드리겠습니다 (__)