12. 현위치 반경 장소를 검색하는 쿼리
안녕하세요~ 미소분양입니다.
여기까지 오시느라 고생많으셨어요..
자 그럼 힘내시고 ~ 고고!
공지사항에도 안내해드렸지만..
각 챕터마다 프로젝트압축본을 공유해드릴예정입니다.
다음주쯤 공개됄것같고요.
그때까지는 그냥 가볍게 보시고요.
공개돼면 압축본을 받아서 풀고 오픈해서
각챕터별 강좌를 보면서 코드를 보시면 되겠습니다.
이전 챕터에서 맵을 초기화한후 사용자 현위치로 이동되는것까지 구현했었지요.
이번에는 검색 + 사용자반경거리(1k~10km) 레이아웃을 짜보겠습니다.
(왼쪽 컴포넌트 트리 계층구조를 보면 파악하기 쉬워요)
소스를 짜기전에..
기존 맵 초기화코드를 메서드로 빼놓겠습니다.
(설명은 주석으로 대체하였습니다.)
(설명은 주석으로 대체하였습니다.)
대략적인설명 : 컴포넌트뷰를 변수로 할당하였으며 ,
스피너를 어댑터에 연결하였습니다.(반경 목록에 쓰임)
스피너를 셀렉트 리스너를 달아서 반경거리값을 조절하도록 셋팅하였습니다.
검색버튼을 클릭하면 검색어를 기반으로 쿼리합니다.
스피너의 0번째 항목의 값은 position = 0입니다.(첫항목부터 0~ 부터 시작됩니다.)
우리는 반경을 1km부터 시작되기때문에..
포지션에 +1을 증가하여 첫항목의 값을 1부터 셋팅되도록 설정했습니다.
radius의 변수는 쿼리의 반경거리를 의미하기때문에
m단위로 값을 지녀야합니다.
1km = 1000m 이기때문에 첫항목은 1000 숫자가되야합니다.
예)
position = 0 인경우
(position+1) = 1
1*1000 = 1000
position = 1 인경우
(position+1) = 2
2*1000 = 2000
173라인 : 객체가 null이거나 , 공백이거나 , 1보다 같거다 작다면 리턴.
180라인: 키보드를 숨길때
185라인: 현재위치의 위도,경도를 뽑음
191라인: 검색어,위도,경도,반경거리,페이지번호,apikey 파라미터를 기반으로 다음서버에 쿼리합니다.
190라인에 쓰인 클래스는..
바로 이클래스를 이용한것입니다.
(전달된 파라미터를 어떻게 처리하는지는 저클래스의 메서드를 참고하세요)
빌드해보았습니다.
위와같이 검색된 리스트가 출력됩니다.
공감과 리플 이웃추가는 글쓴이에게 큰힘이 됩니다.
랜공사 시공업체 찾으셨다면 잘오셨어요 더블넷