처음에 바로 만들어서 실행시 위치가 떳는데 몇일이 지난뒤 다음날 실행해보면 위치찾기만 계속돌아가고 안뜨네요.
배달의민족 이런데는 제위치가 뜨는데.. 뭐가 문제인지 한번 봐주세요.
실행될때 코드 그래도링고 변형한적은 없고 따로 오류는 나지않습니다.
mapv2도 잘실행되는데 위치를 못받아옵니다..
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
매니페스트에는 다 추가해놓았습니다.
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
mLocation.requestLocationUpdates(mProvider, 3000, 10, mListener);
}
리줌에서 바로 실행시 실행이 시작되고요
mProvider = mLocation.getBestProvider(new Criteria(), true);
베스트 좋은 gps방식으로 얻어오기를 했씁니다.
android.location.LocationListener mListener = new android.location.LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
String sStatus = "";
switch(status){
case LocationProvider.OUT_OF_SERVICE:
sStatus = "범위벗어남";
break;
case LocationProvider.TEMPORARILY_UNAVAILABLE:
sStatus = " 일시적불능" ;
break;
case LocationProvider.AVAILABLE:
sStatus = "사용가능";
break;
}
mTextmap.setText(provider + "상태변경" + sStatus);
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
mTextmap.setText("현재상태:서비스사용불가");
}
@Override
public void onLocationChanged(Location location) {// 맵이 변경되었을때
// TODO Auto-generated method stub
lat = location.getLatitude();
lng = location.getLongitude();
mTextmap.setText(findAddress(lat, lng));
mapname = findAddress(lat, lng);
}
};
@Override
protected void onPause() { // 피니시쉬 맵서비스 중지
super.onPause();
mLocation.removeUpdates(mListener);
}
public String findAddress(double lat , double lng){ // 위도 경도를 이용한 한글주소 찾기
StringBuffer sb = new StringBuffer();
Geocoder geocoder = new Geocoder(TxtActivity.this,Locale.getDefault());
List<Address> address;
try{
address = geocoder.getFromLocation(lat, lng, 1);
if(address == null){
mTextmap.setText("주소얻기실패");
return null;
}
if(address.size()>0){
String juso = address.get(0).getAddressLine(0).toString();
sb.append(juso);
}
}catch(Exception e){
e.getStackTrace();
}
return sb.toString();
}
리스너에서는 현재위치를 받아와 텍스트뷰에 뿌려줍니다.
계속 위치찾기만 하고 텍스트뷰에 뿌려주지를 않네요.. getbestprovider말고 다른것도 사용해야하나요?
고수분들 한번씩만 도와주시길바랍니다.