소스설명 :
"ProximityAlert" 문제입니다, 'GoogleMap' 을 쓰고 있고요,
class "AsyncTask"의 doInBackGround(){ 에서 네트워크 데이터를 가져와 } onPostExcute(){ 안에 }
mLocMgr.addProximityAlert(tempVO.getLatitude(), tempVO.getLongitude(), (float)sensingRadius100,-1,mPending100);
해주고있고, ( int sensingRadius100 = 100 )
불러온 ArrayList<testVO>를 알람경보와 마커랑 함께 표시하기위해
@Override
onMapReady(){
...
async.execute() ;
}
해주고 있습니다.
또한, 해제는 onPause(){
removePorximityAlert(mPending100); } 로 해주고 있습니다.
추가로 "LocationListener" 는
onResume(){ locMgr.requestUpdate(gpsProv,1000, 10, locListener) } 로 등록하고
onPause(){ locMgr.removeUpdate(locListener) }로 해제 해주고 있습니다.
문제점:
일단 작동이 되다가 안되다가 하는데요, 알림영역 안에 들어가서 어플을 킬때 만 알림이 실행되고,
어플을 킨상태에서 알림영역으로 들어가는 상황에서는 작동이 안됩니다.
자신의 위치마커갱신은 잘 되고, 실제로 발로뛰면서 테스트 해보고 있습니다
GPS상태가 안좋아서 그런걸까요? ProximityAlert등록 위치가 잘못된걸까요??
Acrivity가 실행될때만 작동되는걸 보면 onMapReady()가 실행되는시점에만 작동이 되는걸로 생각되는데요
그렇다고 LocationListener에 등록하기에는 네트워크 데이터를 계속 사용해야서 안될꺼 같고요
조언좀 해주세요
추가사항:
//위치 리스너 함수
LocationListener mLocListener= new LocationListener() {
@Override
public void onLocationChanged(Location location) {
LatLng position = new LatLng(location.getLatitude(),location.getLongitude());//위치값을 가져온다
myCarMarker.setPosition(position); //자동차 지금위치를 set
// m300Range.setCenter(position); //300 반경 표시범위 지금위치로
m100Range.setCenter(position);//100 반경 표시범위 지금위치로
mMap.moveCamera( CameraUpdateFactory.newLatLng(position) ); // 카메라도 지금위치로 move
Log.i("moveto",location.getLatitude() + " : "+ location.getLongitude());
}};