package com.Map_test;

import java.util.List;

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

import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
//import android.widget.Toast;


public class Map_test extends MapActivity {
    /** Called when the activity is first created. */
 
 private LocationManager lm;
 private LocationListener locListenD;

 
    MapView mMap;

    MyLocationOverlay2 mLocation;

 

    @Override
 protected boolean isRouteDisplayed() {

         return false;

    }

 

    @Override
 public void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         setContentView(R.layout.main);
        
         // LocationListener의 핸들을 얻는다
         lm =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
        
         //GPS 위치 서비스에 연결한다
         Location loc = lm.getLastKnownLocation("gps");
        
         if(loc!=null) {
                        

                // Location Manager에게 위치정보를 업데이트해달라고 요청한다.
             
                lm.requestLocationUpdates("gps", 3000L, 10.0f, locListenD);  
         }


         mMap = (MapView)findViewById(R.id.map_view);

         MapController mapControl = mMap.getController();

         mapControl.setZoom(18);

         mMap.setBuiltInZoomControls(false);

 

         GeoPoint pt = new GeoPoint((int)(loc.getLatitude() * 1000000), (int)(loc.getLongitude() * 1000000));

         mapControl.setCenter(pt);



         mLocation = new MyLocationOverlay2(this, mMap);

         List<Overlay> overlays = mMap.getOverlays();

         overlays.add(mLocation);

 

         mLocation.runOnFirstFix(new Runnable() {

             @Override
   public void run() {

                  mMap.getController().animateTo(mLocation.getMyLocation());

             }

         });

    }

 

    @Override
 public void onResume() {

         super.onResume();

         mLocation.enableMyLocation();

         mLocation.enableCompass();
        

    }  

 

    @Override
 public void onPause() {

         super.onPause();

         mLocation.disableMyLocation();

         mLocation.disableCompass();

    }

 

    class MyLocationOverlay2 extends MyLocationOverlay {

         public MyLocationOverlay2(Context context, MapView mapView) {

             super(context, mapView);

         }

        

        /* protected boolean dispatchTap() {

             Toast.makeText(OverlayLocation.this, "여기가 현재 위치입니다.",

                       Toast.LENGTH_SHORT).show();

             return false;

         }*/

    }

}


 

 

현재 위치를 중심으로 구글맵이 펼쳐 지게 하려고 하는데요

잘 안되네요

오류는 없는데.. 폰에 넣어서 돌려보니 프로세스 종료한다고 뜨네요

 

왜 그러는걸까요?

초보라서 아직 정확한 개념이 잡힌상태가 아니라서

공부하는 마음으로 하고 있는데 잘 되지 않네요

제발 도와주세요~