안녕하세요. 날씨가 춥습니다. 감기 조심하세요.
제가 지금 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 발생
}
-------------------------------------------------------------------------------------------------------------------------------------------

give & take



