안드로이드 개발 질문/답변
(글 수 45,052)
맵뷰를 띄운상태에서 현재위치도 보고, 버튼을 누르면 현재 좌표를 불러오려고합니다.
그런데
맵뷰에서 띄워준 현재위치는 움직임을 잘감지합니다. 건물을 한바퀴 돌았는데 잘따라왔고요,
그러는 중간중간 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를 안한다고 들었는데
현재위치는 참 잘따라다닌단 말이죠..ㅠ
아시는분 답변 부탁드려요!!