맵뷰를 띄운상태에서 현재위치도 보고, 버튼을 누르면 현재 좌표를 불러오려고합니다.

그런데

맵뷰에서 띄워준 현재위치는 움직임을 잘감지합니다. 건물을 한바퀴 돌았는데 잘따라왔고요,

그러는 중간중간 gps의 좌표를 찍어주는데 영 안맞네요...

mapview
  mMap = (MapView)findViewById(R.id.mapview);
  mMapOverlays = mMap.getOverlays();
  
  mLocation = new MyLocationOverlay2(this, mMap); 
  List<Overlay> overlays = mMap.getOverlays();
  overlays.add(mLocation);

  mLocation.runOnFirstFix(new Runnable() {
   public void run() {
    mMap.getController().animateTo(mLocation.getMyLocation());
   }
  });

class MyLocationOverlay2 extends MyLocationOverlay {
  public MyLocationOverlay2(Context context, MapView mapView) {
   super(context, mapView);
  }
  
  protected boolean dispatchTap() {
   Toast.makeText(SendCordData.this, "여기가 현재 위치입니다.", Toast.LENGTH_SHORT).show();
   return false;
  }
 }


 

locationListener
 LocationListener mListener = new LocationListener() {
  DecimalFormat df = new DecimalFormat("###.######");
  @Override
  public void onLocationChanged(Location location) {
   // TODO Auto-generated method stub
   myLong = df.format(location.getLongitude());
   myLat = df.format(location.getLatitude());
   Toast.makeText(SendCordData.this, "onLocationChanged / myLong ; " + myLong + " / myLat ; " + myLat, Toast.LENGTH_SHORT).show();
  }
}

  btn_refresh.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    mLocMan.requestLocationUpdates(mProvider, 1, 1, mListener);
   }
  });



위에는 맵뷰고요, 아래는 좌표가 업데이트되면 찍어주는부분이고요, 버튼으로 업데이트를 시켜주긴합니다.

제가 알기로는 onLocationChanged가 좌표 변화가 없으면 update를 안한다고 들었는데

현재위치는 참 잘따라다닌단 말이죠..ㅠ

아시는분 답변 부탁드려요!!