안녕하세요. 날씨가 춥습니다. 감기 조심하세요.

제가 지금 mapview 에서 GPS를 공부하고 있습니다.

이것 저것 찾아보고 테스트를 하려고 하는데 잘 되지 않아 문의를 드립니다.

어플이 실행되면 loadGps()를 호출하여 현재 위치의 GeoPoint를 얻어와 지도 보여주려고 합니다.

내용은 아래와 같습니다.

실제 폰(옵티머스Q)로 테스트를 해보면 location에 null 이 들어오고 있습니다.

provider를 찍어보면 gps 로 넘어오고 있는데 왜 location만 못넘어 오는지 모르겠습니다.

댓글 부탁드립니다.

-------------------------------------------------------------------------------------------------------------------------------------------
<uses-library android:name="com.google.android.maps"></uses-library>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
-------------------------------------------------------------------------------------------------------------------------------------------
private GeoPoint loadGps() {
  // TODO Auto-generated method stub
  locationmanager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
  
  // GPS Provider 선택조건
  Criteria criteria = new Criteria();
  criteria.setAccuracy(Criteria.ACCURACY_FINE);       // 정확도
  criteria.setPowerRequirement(Criteria.POWER_LOW);   // 전원 소비량
  criteria.setAltitudeRequired(false);    // 고도, 높이 값을 얻어 올지를 결정
  criteria.setBearingRequired(false);        // provider 기본 정보
  criteria.setSpeedRequired(false);     //속도
  criteria.setCostAllowed(false);      //위치 정보를 얻어 오는데 들어가는 금전적 비용
  provider = locationmanager.getBestProvider(criteria, true);

  listener = new LocationListener(){......생략.... };
  locationmanager.requestLocationUpdates(provider, 10000, 100, listener);
  location = locationmanager.getLastKnownLocation(provider);  
  return new GeoPoint((int)(location.getLatitude()*1E6),(int)(location.getLongitude()*1E6));  <<  NullPointException 발생
 }
-------------------------------------------------------------------------------------------------------------------------------------------

profile

give & take