4.17

김부릉·2023년 4월 17일
0
  1. aixos를 사용하기 때문에 위치에 대한 state를 기본 값을 주고 false가 리턴되면 setState를 하지 않는다. 위도경도로 주소를 리턴하느 함수를 따로 만들어서 처음에 랜딩 될때 내 위치, 드래그한 위치 둘다에 씀. 주소를 검색 했을 때 쓰는 함수 만들기 시작.
  2. 주소를 검색했을 때 위도, 경도, formatted 주소를 받아와서 panTo() 함수 안에 위도 경도를 넣으면 검색한 위치로 지도의 센터가 변함.
  3. 버튼 만들어서 검색한 주소를 place에 저장.
  4. 유저의 현재위치를 계속 받아오는 이벤트, map에 Marker 인스턴스 생성하고 옵션 지정,
  5. userMarker에 위도 경도 넣음. 컴포넌트가 mount 될때는 getCurrentPosition()을하고 userMarkerOptoins 함수 안에서 watchposition()한다.
  6. 목적지를 검색 버튼 클릭하면 마커를 표시하는 함수 생성. userMarker 함수와 비슷하다.
  7. maps.latlngBounds 인스턴스 생성. 경로를 표시하느 함수 만듬. 현재 위치와 목적지 this.state 에서 가져오고, 경로 선 옵션 지정, DirectionsService() 인스턴스 생성.
  8. DirecitonsRequest 객체를 만든다. 현재위치,목적지, TravelMode.Driving. 생성한 directions를 setMap하면 지도에 경로가 표시됨.
  9. 요금 함수 만들기 setPrice() this.state 에서 거리를 가져온다음 parseFloat() 하고 *3 해줌.
  10. 유저의 최근 위치 기록하는 쿼리 만듬
  11. get nearby user 쿼리. 드라이버 모드에서 주변에 있는 유저 데이터 가져오는 쿼리 만듬.
  12. nearByQueries 프로퍼티 onCompleted 에 함수를 넣고 근처의 드라이버의 정보를 받아 온다.
  13. 유저가 드라이버를 볼수 있는 함수. 드라이버의 markerOptions 설정하고 setMap()
  14. 드라이버가 표시 안되는 버그 해결방법. NearbyQueries에 pollInterval을 프롭으로 설정 1초에 한번씩 map이 rerending 하게 한다.
  15. 드라이버 위치 업데이트 하기 버그 생겨서 다시 만듬. subscription 으로 할 수 도 있지만 채팅 기능은 당연히. 하지만 운전자의 위치 정도는 pollInterval로도 충분하다는 의견.
  16. subscrioption 을 사용하기 위해 뭐저 apollo-boost ejecting 함. websocket, http, localstate 등 combinateLinks라는 함수를 만들어서 false일 때는 httpLink 를 연결하고 ture 일때는 wsLink 가 안결되게 한다. apolloboost가 http 인지 subscription 인지 구분하는 기능이 없어서 함수를 만든거.
  17. Request ride 쿼리 만듬. variable 이 너무 많아.
  18. 드라이버에게 승객의 이름과 프로필사진 주기. ProfileQuery 컴포넌트에 onComplete 프롭에 profile 가져오는 함수 넣음. 거기에서 isDriving 으로 드라이버인 true 인지. isDriving으로 NearbyDriver를 스킵함.
  19. 버그 수정. pollInterval이 있으면 skip이 실행되지 않는다. 승객의 정보를 불러오지 못하는것은 서버 resolver에서 관계 추가.

0개의 댓글