Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat] 홈 화면 - 구글 지도, 마이페이지 버튼 #8

Merged
merged 13 commits into from
Jan 10, 2025

Conversation

yurim830
Copy link
Collaborator

@yurim830 yurim830 commented Jan 9, 2025

⭐️ Issue Number

🚩 Summary

1. 지도

  • Google Maps 사용을 위한 작업

    • UIViewControllerRepresentable 프로토콜을 채택한 MapViewControllerBridge를 생성했습니다.
      (Google Maps SDK는 SwiftUI 호환 뷰를 제공하지 않으며 UIKit을 기반으로 빌드되기 때문)
    • Maps SDK 초기화를 위해 AppDelegate를 구현했습니다.
  • Google Maps API key 관리

    • Config 파일을 생성했습니다.
    • .gitignore에 Config.xcconfig를 추가했습니다.

2. 마이페이지 버튼

MyPage 버튼과 연결되는 뷰를 HomeView 파일 안에 임시로 만들었습니다(TempMyPageView).

🙂 To Reviewers

  • Google Maps를 사용하게 된 배경을 공유드립니다.
    • Android와 iOS 간에 UI를 통일감 있게 유지할 수 있음.
    • 지금은 별 문제 없지만 추후 서버와 데이터를 주고 받을 때 용이할 것..! (안드와 구조가 동일하기 때문)
    • 기능이 디벨롭 될 경우(ex. 장소 클릭 시 지도 상세 정보 출력) Google Map이 Apple Map보다 용이할 것임.
      나중에 Mapkit -> GoogleMap으로 변경하면 리소스가 들기에 처음부터 GoogleMap을 사용하는 게 낫다고 판단!
    • 월 $200 크레딧을 무료로 사용 가능함

📷 Screenshots

Mode 지도 확대/축소 마이페이지 버튼
GIF

@yurim830 yurim830 added the feat 기능 (새로운 기능) label Jan 9, 2025
@yurim830 yurim830 self-assigned this Jan 9, 2025
@yurim830 yurim830 linked an issue Jan 9, 2025 that may be closed by this pull request
@yurim830 yurim830 changed the base branch from main to develop January 9, 2025 20:18
Copy link
Collaborator

@seunggyun-jeong seunggyun-jeong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코멘트에 답변 남겨주시고, 수정사항 반영해서 다시 푸시 부탁드립니다!

**/xcshareddata/WorkspaceSettings.xcsettings
Config.xcconfig
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

컨피그 파일이 생겼군요! 나중에 공유 부탁드려요!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네~ gitignore때문에 머지 되면 공유드릴게요!

Comment on lines 24 to 34
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
let apiKey = Bundle.main.infoDictionary?["API_KEY"] as! String
GMSServices.provideAPIKey(apiKey)

return true
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delegate 파일을 App 폴더에 따로 만들어서 관리하는 것이 좋을 것 같아요!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정했습니다! 감사해요:)

Comment on lines 31 to 44
func myPageNavigationLink() -> some View {
NavigationLink(destination: TempMyPageView()) {
Image(systemName: "person.circle.fill")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 40, height: 40)
.background(Color.white)
.foregroundStyle(.gray3)
.clipShape(Circle())
.overlay {
Circle().stroke(Color.white, lineWidth: 2)
}
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 이런 경우 Computed Property를 만들어서 관리하는데, Parameter가 따로 없는 경우에는 Computed Property로 만들어서 관리를 하는 것은 어떻게 생각하시나요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋습니다! 수정했어요~!

Copy link
Collaborator

@seunggyun-jeong seunggyun-jeong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영 감사합니다!

@yurim830 yurim830 merged commit 2545268 into develop Jan 10, 2025
@yurim830 yurim830 deleted the feat/#4-home-map branch January 10, 2025 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat 기능 (새로운 기능)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[Feat] 홈(지도) 화면
2 participants