반응형
구글맵에서 자신의 위치를 가져오는 방법이 몇가지 있습니다.
그 첫번째는 setMyLocation을 이용한 위치입니다.
구글지도에서 흔히 볼 수 있는 저 파란 점이 나오고 현재위치를 표시해 주는 지도입니다.
이건 위치외에 다른 정보는 없어서 추천하지 않지만 쉽게 구현할 수 있습니다.
간단하게 setMyLocationEnabled 만 하면 지도에 파란점과 현위치 찾기 버튼이 나타납니다.
1 | myMap.setMyLocationEnabled(true); | cs |
사용하지 않을때에는
1 | myMap.setMyLocationEnabled(false); | cs |
myMap은 GoogleMap입니다.
여기까지하면 지도에서 현재위치에 파란점을 표시를 해줍니다.
하지만 위치가 바뀌면 지도가 움직이지는 않습니다. 그에 따른 코드를 작성해 줘야 합니다.
바로 OnMyLocationChangeListener를 사용하는 것입니다.
이 메소드는 지도에 나타나는 파란점의 위치가 바뀔때마다 호출이 됩니다.
(사실 위치가 바뀌면 파란점을 찍어주고, OnMyLocationChangeListener도 호출됩니다.)
일단 interface로 OnMyLocationChangeListener를 추가해 줍니다.
1 | public class runningFrag extends Fragment implements GoogleMap.OnMyLocationChangeListener { | cs |
그리고 callback 콜벡 되도록 리스너를 사용등록해줍니다.
1 | myMap.setOnMyLocationChangeListener(this); | cs |
마지막으로 implements override를 추가해 줍니다.
1 2 3 4 5 6 7 8 | @Override public void onMyLocationChange(Location location) { double d1=location.getLatitude(); double d2=location.getLongitude(); Log.e("onMyLocationChange", d1 + "," + d2); myMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(d1, d2), 18)); } | cs |
Line 3~4 : 바뀐위치의 latitude값과 longitude값을 가져옵니다.
Line 6 : 지도를 가져온 위치로 이동시킵니다.
반응형
'Study > Android' 카테고리의 다른 글
custom Notification (커스텀 알림창) (0) | 2015.11.18 |
---|---|
Google map Location (구글맵 위치) - LocationListener using google api (4) | 2015.10.26 |
google maps android API를 이용한 지도 2 - Fragment (2) | 2015.10.23 |
google maps android API를 이용한 지도 1 - FragmentActivity (6) | 2015.10.23 |
google map fragment snapshot!! (0) | 2015.10.20 |