안드로이드

현재 위치 얻기 간단한 팁~!

raulyo 2012. 6. 27. 13:49

뭐 팁이라고도 하기 힘든 사소한 건데요,


GPS 써서 자기 위치 얻는거 많이들 하실겁니다.


근데, 일반적으로 많이 쓰는 방법인 location listener를 만들어서 일정 시간이나 거리가 바뀔때마다 위치를 얻어오는건 문제점이 좀 있습니다.


제가 그동안 여러가지 폰으로 테스트 해 봤는데, 가끔 이게 refresh가 아예 안되는 경우가 있구요,


평소에 잘되다가 갑자기 며칠동안이나 계속 location이 null 값이 나오는 경우도 있더군요. 


원인은 찾지 못했습니다. 그냥 하드웨어가 좀 불안정하다고 밖에는 생각할 수 없겠더라구요. 어쨋던 이거만 쓰다가 예전엔 꽤나 고생했습니다.


근데 google maps는 gps나 네트웍이 아예 안되는 상황을 빼고는 웬만하면 다 location값을 잘 받아옵니다.


그러므로, MapActivity를 상속해서 MyLocationOverlay 클래스를 사용하여, getMyLocation() 을 사용하면 잘 받아옵니다.


어찌보면 편법이라고 할 수 있는데요, 제가 그동안 정석대로 하다 많이 고생해서 다른 LBS 앱들은 어떻게 하니 봤더니 대부분 이렇게 하더군요, 저는 location listener 와 mylocationoverlay 두가지 다 사용해서 썼었는데, 쓰다보니 mylocationoverlay가 더 성능이 좋은것 같습니다.


아, 물론 GPS 위치를 기록한다거나 하는 앱에서는 location listener를 사용하는 방법이 더 낫길 할 겁니다. ㅎㅎ

Embedded/Software Engineer


 
댓글
2012.06.15 10:47:00
테스트겜

이렇게 하면 현재 위치를 딱 한번만 받아오는건가요??

좋은 팁 감사합니다^^

댓글
2012.06.16 11:55:19
잇힝국대통령

enablemylocation() 해주면 계속 받아오는 것 같습니다. 


disablemylocation() 안해주면 배터리 계속 먹으니 끌 때는 호출해 줄 필요가 있구요,

댓글
2012.06.15 11:41:31
jhmj

좋은 정보 감사합니다 ^^  

댓글
2012.06.15 15:40:00
id: 자바개발자자바개발자
profile

좋은 정보입니다..^^

댓글
2012.06.16 21:59:48
루비루랍퐈

오.. 딱필요한 정보가 여기에..