eastjun-dev / frontend

MIT License
2 stars 4 forks source link

[Mission005] 가게 찾기 #38

Open ganeodolu opened 4 years ago

ganeodolu commented 4 years ago

미션4

10

기본 요구사항

1. 메인 화면을 구현합니다.

2. 가게 검색 기능을 구현합니다.

3. 페이지를 구현합니다.

추가 요구사항

1. 검색 히스토리

2. 검색 결과가 느린 경우 처리방법

3. 카카오맵 API를 사용하여 Modal UI로 표시

미션방식

index.html - (App.js) SearchStoreName : 키워드를 조회하여 API에서 가게정보 가져오기 ShowStoreList : 조회된 가게 리스트 보여주기 ShowHistoryList : LocalStorage에 저장된 검색어를 조회, 추가, 삭제 기능

ManagePage : 페이지 클릭시 버튼의 페이지를 가져오고, 최근검색어부분에서 키워드를 가져오고 API를 통해 가게정보 가져오기 ShowPage : 최대페이지를 감안하여 페이지 보여주기

ManageMap : 카카오맵 API를 이용하여 선택된 가게명, 가게주소를 Modal창에 보여주기

apiHandler는 지은님의 미션2코드를 사용하였습니다.

시행착오

카카오맵 구현시 모달UI를 띄운 뒤 map.relayout()을 실행해 주어야 지도가 제대로 표시되며 map.setCenter()를 맨 뒤에 실행해야 지도가 가게의 위치로 이동합니다. 카카오맵 infowindow의 크기가 고정이기때문에 가게이름이 전부 표시가 안되는 문제가 있어서 infowindow 대신에 커스텀오버레이를 사용하였습니다.

미션후기

Modal UI를 구현하기 위해서는 라이브러리가 꼭 필요한 것이 아니라 CSS의 설정에 따라 구현되는 것을 알았고, 평소에 지도표시 기능을 꼭 해보고 싶었는데 어설프게나마 구현해보아서 좋았습니다. 깔끔한 디자인을 구현하기 위해서는 CSS 공부가 많이 필요하다고 느꼈습니다.