EFUB-ZEJE / ZEJE-FrontEnd

2022 관광데이터 활용 공모전 우수상 - 제로 웨이스트 제주여행을 위한 어플리케이션 ZEJE
1 stars 1 forks source link

Implementing Around Screen (3) - develop point maps #10

Closed flowersayo closed 1 year ago

flowersayo commented 1 year ago

둘러보기 - 포인트 지도 개발

첫화면 / 안내화면

image

image


마커클릭

image

친환경 스팟 도착

image

리스트뷰

image

image

flowersayo commented 1 year ago

react-native-maps를 활용한 구글맵 띄우기

https://github.com/react-native-maps/react-native-maps/blob/master/docs/installation.md

https://velog.io/@kwonh/ReactNative-google-map-marker-geolocation-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%ED%99%98%EA%B2%BD-react-native-maps-react-native-communitygeolocation -> 몇년전 글이긴한데 이글이 제일 자세하게 나와있음

image

(+ 원래는 Physical Device 연결해서 시뮬레이션 했었는데 무슨 이윤지 Physical Device 에 Google Play Service가 설치되지 않아서 https://support.google.com/googleplay/answer/9037938?hl=ko <- 이 방법도 다 해봄 제 추측이건데 제 공기계가 USIM 이 없는지라 Google Play Service 설치가 되지 않는것인가 합니다. 지금 당장은 USIM 있는 공기계를 구하기 어려운 상황이기에 우선 빠르게 지도 띄우는것이 좋을 것 같아 Google Play Service 설치가 가능한 SDK로 Google Play Service 설치후 애뮬레이터로 시뮬레이션 하고 있습니다. )

Ensure that you have Google Play Services installed For the Genymotion emulator, you can follow these instructions. For a physical device you need to search on Google for 'Google Play Services'. There will be a link that takes you to the Play Store and from there you will see a button to update it (do not search within the Play Store).

image

지도가 호출은 되는데 위 사진처럼 배경이 회색으로 보이는 상황입니다.

우선 계속 시도는 해보겠지만 #10번 이슈 브랜치에 코드를 올려두었으니 혹시나 원인이 짐작가는 분이 계시다면 말씀 부탁드립니다 !

방법1. google_maps_api.xml 추가 image -> 안됨

방법2. SDK 필요한 패키지 설치

In particular, the following packages have to be installed:

Extras / Google Play services
Extras / Google Repository
Android 6.0 (API 23) / Google APIs Intel x86 Atom System Image Rev. 19
Android SDK Build-tools 23.0.3

->Extras / Google Repository가 존재하지 않아서 우선은 빼고 설치함 -> 그러나 안됨

그외 https://github.com/react-native-maps/react-native-maps/blob/master/docs/installation.md -> 여기 공식 문서에 나와있는 Troubleshooting 방법들은 모두 따라해본 것 같습니다


🎈 지금 한가지 의심가는 정황이 있는데 클라우드 플랫폼에서 API 키를 무료로 발급받은 이후, 이상하게 해당 페이지에 다시 접속하면 카드등록? 결제할 것을 요청하더라구요 무료로도 api 키 생성을 해줘서 괜찮은 줄 알았는데 유효한 구글맵 API 키를 사용하려면 무조건 카드결제를 진행했어야하는 걸까용,, ? 매월 200달러의 무료 크레딧을 사용할 수 있다고 하는데, 우선 아직 정확한 가격 책정 정책https://mapsplatform.google.com/pricing/?hl=ko 을 몰라서 결제하지 않았었거든요..!

image

구글지도가 로드되지 않는 문제 https://www.thewordcracker.com/basic/%EA%B5%AC%EA%B8%80%EC%A7%80%EB%8F%84%EA%B0%80-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%A1%9C%EB%93%9C%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EB%AC%B8%EC%A0%9C/

image

-> 찾아보니 결제해야되는게 맞는 것 같아요! 근데 혹시 제가 하필 비자카드가 없어서 결제가 어려운 상황인데 혹시 아래 사이트 들어가셔서 결제계정 생성후 api 키 생성해주실 분 계신가요? 반드시 구글 계정과 일치하는 본인 명의의 카드여야하는 것 같아요

[구글맵 api 키 발급]https://developers.google.com/maps/documentation/javascript/get-api-key

[가격정책] (https://support.google.com/google-ads/answer/2375432?visit_id=637520261292515945-156686760&rd=1)


우선 가능한 분이 없으셔서 제 부모님 명의의 구글 계정과 카드 빌려서 결제 시도 요청 보냈는데 결과가 요렇네용 ,, ㅎㅎ ㅠ 일단 조금 더 시도해보겠습니다 image

image -> 된 것 같아요! 승인 나오면 연락드리겠습니다

image ㅠㅠ api 키가 유효하지 않았던게 맞았나봐요 이제 잘 보이네용 😭😭😭😭

flowersayo commented 1 year ago

[React Native] RN - 환경 변수를 활용한 API key 숨기기

npm install --save react-native-config

: 개발환경에서 API 키가 노출되면 안된다고 했는데 .xml에 파일은 import가 되지 않는 것 같아아래 블로그 링크 주소 참고하여 ( react-native-config 라이브러리 활용 ) env 파일 세팅하였습니다.

.env 파일은 gitignore에 추가해둘 예정이고, API 키는 노션에 있으니 참고하셔서 각자의 로컬환경에 아래파일 추가 부탁드립니다 :)

.env

GOOGLE_MAP_API_KEY="노션에 있는 API KEY" 

-> 루트 최상단에 .env 파일 추가해주시면 됩니다.

https://ssilook.tistory.com/179

flowersayo commented 1 year ago

React-Native 를 통한 카카오맵 띄우기

: 제가 며칠간 React-Native 에서 카카오맵을 띄우는 방법을 열심히 서치를 해봤는데 React-Native에서 카카오맵을 띄우도록 성공한 것이 웹뷰로 카카오맵을 띄우는 사례밖에 없어서 ( or 구현된 브릿지 라이브러리인 https://github.com/jiggag/react-native-kakao-maps 를 이용하는 방법도 있으나 단순히 마커 찍는 기능만 이용가능) react-native 커뮤니티 채널에 네이티브로 띄우는 방법밖에 없는지도 여쭤보니 네이티브 SDK https://apis.map.kakao.com/를 기반으로 브릿지 코드를 생성해서 가능하다고 하시는데 고급영역이어서 초보 분들께는 어려울 수 있을 것이라고 하십니다 (카카오맵 API가 총 안드로이드(자바,코틀린), IOS(스위프트), 웹(React) 전용으로 세개 만들어져 있는데 아무래도 React-Native에서 쓸 수 있게끔 연결하는 코드를 제작하는 과정을 브릿지라고 하시는 것 같아요)

image

그러나 브릿지 코드 부문은 제가 아직 한번도 도전해보지 않은 영역이라 현재 수준에서는 구현이 어려울거라는 생각이 들었습니다. 죄송합니다 😢 그래서 무조건 웹뷰로 구현해야하는 상황인 것 같은데 아무래도 카카오API 를 활용하면 유리한 공모전이기도 하고, 본래는 시간이 오래걸리더라도 가이드라인만 명확하면 천천히 배우고 따라해볼 의향이 있었는데 자료가 너무 희박하고(여차하면 제가 작성한 질문글과 블로그글이 검색 상단에 뜰정도), 여태껏 그나마 찾은 자료들도 아래와 같이 설명이 불분명해서 .. (제가 아직 경험이 부족해서 이해를 잘 못하는 것일수도 있어서 혹시나 해서 다른 분들 확인용으로 아래에 *웹뷰 구현관련 링크 첨부해두었는데 읽어보시고 괜찮으신 것 같으면 역할분담을 바꾸는 것도 좋은방법이지 않을까 싶습니다..! 근데 실제 웹뷰로 띄우는것에 성공을 한다고 하더라도 네이티브 구글 지도를 이용하는 것보다 성능도 떨어지고 웹서버도 따로 세팅을 해야하고, 연결 및 사용자 경험도 부자연 스러워질 것 같은데 이것이 개발할때 좋은 방법일지는 의문입니다...! )

혹시 어플리케이션 웹뷰로 구현해보신 분 계신가요?! 어디서부터 어떻게 공부하고 어떤식으로 연결을 시작해야할지 잘 모르겠네요 .. 혹시 관련하여 참고할만한 자료가 있을까요?

그래서 보통 일반적으로 React-Native 로 개발할때는 대부분 호환이 잘되는 구글맵을 이용하시는 것 같은데 어떻게 생각하시나요?

*React-Native 에서 kakao map 웹뷰로 띄우기

https://webruden.tistory.com/302

@JangAyeon @dazzlynnnn @SJ-Lee33

SJ-Lee33 commented 1 year ago

React-Native 를 통한 카카오맵 띄우기

: 제가 며칠간 React-Native 에서 카카오맵을 띄우는 방법을 열심히 서치를 해봤는데 React-Native에서 카카오맵을 띄우도록 성공한 것이 웹뷰로 카카오맵을 띄우는 사례밖에 없어서 ( or 구현된 브릿지 라이브러리인 https://github.com/jiggag/react-native-kakao-maps 를 이용하는 방법도 있으나 단순히 마커 찍는 기능만 이용가능) react-native 커뮤니티 채널에 네이티브로 띄우는 방법밖에 없는지도 여쭤보니 네이티브 SDK https://apis.map.kakao.com/를 기반으로 브릿지 코드를 생성해서 가능하다고 하시는데 고급영역이어서 초보 분들께는 어려울 수 있을 것이라고 하십니다 (카카오맵 API가 총 안드로이드(자바,코틀린), IOS(스위프트), 웹(React) 전용으로 세개 만들어져 있는데 아무래도 React-Native에서 쓸 수 있게끔 연결하는 코드를 제작하는 과정을 브릿지라고 하시는 것 같아요)

image

그러나 브릿지 코드 부문은 제가 아직 한번도 도전해보지 않은 영역이라 현재 수준에서는 구현이 어려울거라는 생각이 들었습니다. 죄송합니다 😢 그래서 무조건 웹뷰로 구현해야하는 상황인 것 같은데 아무래도 카카오API 를 활용하면 유리한 공모전이기도 하고, 본래는 시간이 오래걸리더라도 가이드라인만 명확하면 천천히 배우고 따라해볼 의향이 있었는데 자료가 너무 희박하고(여차하면 제가 작성한 질문글과 블로그글이 검색 상단에 뜰정도), 여태껏 그나마 찾은 자료들도 아래와 같이 설명이 불분명해서 .. (제가 아직 경험이 부족해서 이해를 잘 못하는 것일수도 있어서 혹시나 해서 다른 분들 확인용으로 아래에 *웹뷰 구현관련 링크 첨부해두었는데 읽어보시고 괜찮으신 것 같으면 역할분담을 바꾸는 것도 좋은방법이지 않을까 싶습니다..! 근데 실제 웹뷰로 띄우는것에 성공을 한다고 하더라도 네이티브 구글 지도를 이용하는 것보다 성능도 떨어지고 웹서버도 따로 세팅을 해야하고, 연결 및 사용자 경험도 부자연 스러워질 것 같은데 이것이 개발할때 좋은 방법일지는 의문입니다...! )

혹시 어플리케이션 웹뷰로 구현해보신 분 계신가요?! 어디서부터 어떻게 공부하고 어떤식으로 연결을 시작해야할지 잘 모르겠네요 .. 혹시 관련하여 참고할만한 자료가 있을까요?

그래서 보통 일반적으로 React-Native 로 개발할때는 대부분 호환이 잘되는 구글맵을 이용하시는 것 같은데 어떻게 생각하시나요?

*React-Native 에서 kakao map 웹뷰로 띄우기

https://webruden.tistory.com/302

@JangAyeon @dazzlynnnn @SJ-Lee33

저는 웹뷰는 사용해본 적 없고, 네이티브 코드 (안드로이드 자바코드)를 react native에서 모듈화해 사용하는 것까지는 해봤습니다..!

flowersayo commented 1 year ago

Android 애뮬레이터 location 설정

image