http://androidhuman.tistory.com/518를 참고하여 프로젝트를 구성한다.
- 현재 위치를 찾고
- 마커를 올리고
- 마커를 중앙에 놓은 채로 화면을 바꾸고
- 안 그러면 유럽과 아프리카를 중심으로 하는 세계지도만 보이니까
- 줌 레벨을 조정함
- Android Location API - Tutorial을 참고하여 소스코드를 작성함
- 빌드하여 앱을 실행해보면 현재 위치 GPS 좌표를 토스트 메시지로 뿌려주는 것까지만 가능함
- 마커도 올라가 있지만 지도를 이리저리 옮겨봐야 한국에 찍혀있는 마커를 볼 수 있음
- CameraUpdate 클래스를 이용하여 카메라를 조정해야 현재 위치를 상세히 볼 수 있음
- onLocationChanged() 이벤트 핸들러는 사용자의 위치가 바뀌었을 때 호출되는 메소드인데 이 예제 코드에서는 최초에도 한 번 호출하도록 되어 있음
- 마커를 위치시키는 코드 아래 쪽에 다음 코드를 추가함
CameraUpdate center = CameraUpdateFactory.newLatLng(coordinate);
CameraUpdate zoom = CameraUpdateFactory.zoomTo(14);
map.moveCamera(center);
map.animateCamera(zoom);
- 순서 없는 목록마커가 여러 개 남는 버그
- 마커 변수를 클래스의 멤버로 선언하고 지도에 추가하기 전에 예전 마커를 삭제함
- 좀 더 깔끔한 해결책???
if (startPerc != null) {
startPerc.remove();
}
startPerc = map.addMarker(new MarkerOptions().position(coordinate).title("Start").snippet("Inizio del percorso").icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));