본문 바로가기

분류 전체보기164

250812 TIL | 사용자의 위치로 카메라 이동하기, 지도 중앙값 받아와서 데이터 넘겨주기 라는 제목을 지어봤는데요 오늘은 절반 정도 성공한걸로..^^ㅠ 어렵다 지도의 세계 첫번째 화면: 앱을 열면 지도에 사용자의 위치를 띄움⬇️두번째 화면 : 첫번째 화면의 위치를 받아와서 띄움+지도 정중앙에 마커를 꽂음=> 사용자는 지도를 움직여서 마커를 꽂을 위치를 지정할 수 있음⬇️세번째 화면: 두번째 화면의 위치와 마커를 그대로 가져와서 화면에 띄워줌 이 내가 생각한 기획인데 사용자의 위치 - 첫 화면 지도 - 두번째 화면 지도 - 세번째 화면 지도 - 세번째 마커모두 기묘하게 조금씩 이상하게 뜨는 중 이유를 먼저 말해보자면 지도 / 마커를 가져오는 시점?에 따른 사소한 값 변동 때문이라는데위도 경도는 사소하게라도 값이 변하면 안되기에~ 이상한 위치들이 튀어나오는것 ㅠ 마커가 정중앙에 제대로 찍힌건지 .. 2025. 8. 12.
[흡구오디] 네이버 지도에서 현재 위치 가져와서 현재 위치를 지도에 띄우기 안녕하세요 오늘은 삽질 100번하고 알아낸 사용자의 현재 위치 가져와서 띄우기!를 공유해볼게요 이번 글에서는 네이버 지도 SDK를 이용해 앱에서 현재 위치를 지도에 띄우는 방법을 소개합니다~ 우선 우리는 지도에 사용자의 현재 위치를 띄우기 위해서 무엇을 할꺼냐!현재 위치 좌표 가져오기 -> 네이버 지도 기능으로 그 좌표로 카메라 이동시켜서 -> 화면에 사용자의 위치 띄워주기!1. 준비 작업필수 라이브러리 설치하기: 저는 네이버 지도 sdk를 SPM으로 깔아줬어요 https://github.com/navermaps/SPM-NMapsMap.git GitHub - navermaps/SPM-NMapsMapContribute to navermaps/SPM-NMapsMap development by creating.. 2025. 8. 11.
250810 TIL | swift 네이버 지도 현재 위치 버튼 활성화하기 안녕하세요오늘은 첫 화면을 사용자의 현재 위치로 가져오는 기능을 구현해보았어요역대급 뻘짓으로 시간 낭비 디박 함 ㅜ_ㅜ 네이버 지도 SDK에서는현위치 버튼: 위치 추적 모드를 표현합니다. 탭하면 모드가 변경됩니다. 자세한 내용은 위치 문서를 참고하세요. showLocationButton 속성으로 활성화 여부를 지정할 수 있습니다. 라는 기능을 제공하고 있는데요self.mapView.ShowLocationButton = true 아무리 이 showLocationButton을 찾아봐도 나오질 않는 거임 ㅜ 알고봤더니 해당 속성은 NMFNaverMapView()에서 제공하는 것 반면에 내가 만든 View는 NMFMapView() 였음;;;private let mapView = NMFNaverMapView().. 2025. 8. 10.
250807 | 마커 등록 화면 UI 구성 (FlexLayout + NMFMapView + 태그 영역 레이아웃 작업) 하이염오늘은 흡연구역 등록 화면을 본격적으로 만들었다.FlexLayout으로 전체 UI를 잡았고, 지도부터 입력 필드, 태그 섹션까지 기본적인 구조를 구성했다.주요 작업 내용레이아웃 작업을 Snapkit, Pin, Flex등으로 설정함!!!NMFMapView로 지도 보여주기흡연구역 이름 (UITextField) / 설명 (UITextView) 입력 필드 추가설명창은 placeholder처럼 보이게 구현 (TextView엔 기본적으로 placeholder 없음 → delegate로 직접 처리)환경 / 유형 / 편의시설 태그 카테고리별 label 추가FlexLayout으로 전체 레이아웃 구성삽질한 부분...- 스크롤 처리입력 항목이 많아지면 스크롤이 필요했는데, 처음엔 Flex만 쓰면 자동으로 스크롤 될 줄.. 2025. 8. 7.
[흡구오디] 스크롤뷰 구현하기 | 지도뷰 + 스크롤뷰 조합 안녕하세요 이제 detailView 만들 차례! DetailView 설명디테일 뷰는 상단에 전 화면에서 찍은 좌표에 마커가 있는 지도가 고정되어 있고,아래에는 스크롤 뷰로 해당 장소에 대한 설명들을 적을 수 있는 화면이다. 이렇게 네비게이션 바 아래에 크기 200으로 뱌치해줬다.코드는 이러함 NSLayoutConstraint.activate([ // 이럴게 내비 바 바로 아래에 고정! mapView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor), mapView.leadingAnchor.constraint(equalTo: leadingAnchor), mapView.trailingAnchor.constraint(e.. 2025. 7. 17.
[흡구오디] Main 스토리보드 삭제하는 법! | 네이버 지도 마커 좌표 받아오기 안녕하세요 스토리 보드 삭제하기탈 스토리보드를 하기 위해선 main 스토리보드를 없애고 코드 기반으로 바꾸는 작업이 필요합니다. 이과정에 그냥 파일을 지우고 끝~이 아니라 몇가지 설정을 해줘야하더라구요 저는 https://storing.tistory.com/43 블로그를 참고했습니다! 요소 추가 시 주의 점요소 추가할 때addSubView 해야하고 레이아웃 잡아줘야 화면에 나온다! (이 사이 뻘짓으로 n시간 날림...)마커 좌표 받아오기이제 오늘의 할 일마커의 위도 / 경도 값 데이터 넘겨주기! 제가 만든 커스텀 마커는 엄밀히 말하자면 Yes 이미지 No 마커이기 때문에마커의 좌표를 따오는 것이 아니라 지도 뷰의 센터 좌표(=마커 좌표)를 가져와야함! let center = addView.mapView... 2025. 7. 17.
[흡구오디] 네이버 지도 위에 마커 표시하기 | 마커 고정하기 이번 단계에서는 addView에서 화면(지도) 정중앙에 마커를 표시한다.이때 지도가 움직이더라도 마커는 계속 화면 정 중앙에 위치한다. 다음화면으로 가는 버튼을 누르면 마커가 가르틴 곳의 위치 정보를 가져온다! 그럼 렛츠고 우선 지도 이동과 마커를 이해하기 위해선네이버 지도의 카메라와 마커에 대해 이해해야한다. 카메라 변경 이벤트 어떤 이유에 의해서건 카메라가 움직이면 카메라 변경 이벤트가 발생합니다. NMFMapView를 사용 중인 뷰 컨트롤러에 NMFMapViewCameraDelegate 프로토콜을 선언하고, -mapView:addCameraDelegate로 등록하면 카메라 변경 이벤트를 받을 수 있습니다. 카메라의 위치가 변경되면 -mapView:cameraIsChangingByReason: 콜백 .. 2025. 7. 16.
[흡구오디] 내비게이션 컨트롤러 코드로 구현하기 | 화면 이동 이번에는 코드로 내비게이션 컨트롤러를 구현해볼거예요 SceneDelegate 파일에 아래와 같이 코드를 입력해주면 됩니다.// 파일 위치: SmokingAreaOdi/SceneDelegate.swiftimport UIKitclass SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? // 앱 화면을 담는 윈도우 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene =.. 2025. 7. 16.
[흡구오디] 스토리보드 파일 없애고 코드로 새롭게 시작하기 안녕하세요 방치되어있던 흡구오디 앱을 다시 제작해보려고 합니다. 이참에 새롭게 싹 밀고 새로 시작하겠습니다. 파이어베이스, 네이버 지도 연결만 놔두고 모든 것을 초기화 했어요. 그런 뒤 메인 뷰에 네이버 지도를 깔고오른쪽 하단에 추가 버튼을 만들어놨습니다.//// MainView.swift// SmokingAreaOdi//// Created by 이상지 on 7/14/25.//import UIKitimport NMapsMapfinal class MainView: UIView { let mapView = NMFMapView() let addButton = UIButton() // 초기화 메서드 (코드로 UI 작성 시 필수) override init(frame: CGRect) { s.. 2025. 7. 16.