네이버 지도 (마커 눌렀을 때 데이터 정보 불러오기 with 클러스터링)
·
SwiftUI
네이버 지도에서 marker를 클릭했을 때 해당 마커의 정보를 사용할 수 있습니다 클러스터링을 통해서 지도의 마커를 한꺼번에 묶을 수 있는 것을 확인했었습니다. 참고 이제 해당 마커와 클러스터링을 완료했지만 만약 해당 마커를 클릭했을 때 해당 마커의 정보를 가지고 특정 동작을 수행하도록 원한다면 어떻게 해야될까? 이 방법에 대해서 다루겠습니다.  클러스터링먼저 NMCClusterer 객체를 만들어 클러스터링을 작업을 진행하였습니다, 그리고 클러스터링 된 마커들은 지도에 표시됩니다. 다음은 지도에서 사용되는 마커의 정보를 정의한 클래스 입니다.class ItemKey: NSObject, NMCClusteringKey { let identifier: Int let position: ..
네이버 지도 클러스터링
·
SwiftUI
클러스터링은 머신러닝에서 사용되는 용어로 클러스터링이란 유사한 테이터셋들 중 서로서로 찾아내고 묶어내는 것입니다 네이버 지도에서는 클러스터링 기능을 제공하고 있습니다. 지도에서 클러스터링이란 예를 들어 숙박어플 같은 경우 지도에 마커를 사용하여 모든 숙소의 정보를 보여주면 지도에 매우 지져분해 읽기 힘들 것입니다. 하지만 실제로 구현되는 경우에는 지도를 축소하게 되는 경우에 아래 그림처럼 비슷한 위치에 있는 숙소들끼리 합쳐저서 보여지는데 이렇게 합쳐지는, 하나로 묶어지는 것을 클러스터링이라고 합니다. 클러스터링이 안되는 문제 API 문서를 찾아보면서 제작을 진행했는데 시행착오가 있었습니다. 분명 문서대로 코드를 만든 것 같은데 클러스터링이 안되는 것입니다.클러스터링을 하기 위한 객체를 만들어야 한다길래 ..
커스텀 원형 테두리 만들기
·
SwiftUI
3초에 거쳐 테두리 원이 완성되는 코드입니다  간단한 설명percent: 테두리의 회전 정도를 의미합니다 (0~1)count: 1초에서 3초동안 바뀌는 과정을 보여주기 위해서 사용되는 프로퍼티 값입니다. DispatchQueue.main.asyncAfter를 사용하여 현 시점에서 애니메이션을 한번 1초 뒤에 다시 한번 2초 뒤에 다시 한번 각각 1초를 거쳐 값을 변화도록 만들었습니다. trim은 불필요한 것을 자른다는 의미로 0부터 1사이의 값으로 도형을 자르는 것입니다.stroke는 테두리를 꾸미는데 사용됩니다.fill로 원을 채울 색깔을 지정합니다.rotationEffect으로 원을 회전시킵니다. 아래코드를 위에 사진에서 하얀색 원에 해당되는 코드입니다..overlay( Circle() ..
Cocoapods
·
SwiftUI
cocoapods는 라이브러리 관리 도구입니다 cocoapods는 정확히 Swift 및 Objective-C 코코아 프로젝트의 종속성 관리자 입니다. 홈페이지에는 여러가지 라이브러리들을 제공해주고 있으며 사용 방법에 대해 설명드리겠습니다. 1. cocoapods 설치하기cocoapods를 설치하기 위해서 터미널을 열고 아래 명령어를 입력합니다.$ sudo gem install cocoapods 이때 만일 설치가 안되는 경우네는 Homebrew를 먼저 설치해야하는 경우가 있습니다, 이런 상황에서는 https://brew.sh 사이트를 들어가 면 확인할 수 있듯이 아래 명령어를 터미널에 입력해줍니다./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/..
KaKao Map 카카오맵
·
SwiftUI
https://apis.map.kakao.com 카카오에서는 위에 링크를 들어가면 확인할 수 있듯이 개발자들이 카카오맵을 사용할 수 있도록 API를 제공합니다. KakaoMapsSDK 프로젝트를 시작하기 위해서는 다음과 같은 방법들을 거쳐야합니다. 프로젝트 시작KakaoMapsSDK를 Swift Package Manager(SPM) 또는 Cocoapods 중 원하는 방법을 사용하여 프로젝트에 적용합니다. 저는 간단하게 SPM를 사용하여 프로젝트에 적용시켜보겠습니다.https://github.com/kakao-mapsSDK/KakaoMapsSDK-SPM.git 링크를 위에 SearchBar에 입력하여 SPM을 프로젝트에 추가해줍니다. 이후 패키지가 추가되고 나면 아래 코드처럼 KakaoMapsSDK를 im..
Protocols 프로토콜
·
SwiftUI
프로토콜은 개발을 하면서 매우 중요한 개념입니다 프로토콜이란프로토콜이란 프로그래밍에서 인터페이스 역할을 하는 중요한 요소입니다. 프로토콜은 특정 작업 또는 기능을 정의하는데 사용됩니다. 그리고 이미 SwiftUI에서는 View 프로토콜 같은 여러 프로토콜이 제공되고 있으며 View는 사용자 인터페이스의 모습과 동작을 정의하는 특징을 갖고 있고 다른 프로토콜들도 여러 기능을 수행할 수 있도록 미리 정의되어 있는 기능입니다.프로토콜의 필요성코드를 만들다보면 아래처럼 3개의 상수 모두 Color 타입인 구조체로 교차해서 사용할 수 있을 것 같은데 색상(내용)이 서로 같이 않기 때문에 당연히 사용하지 못하는 경우가 발생할 수 있습니다.struct DefaultColorTheme { let primary: ..
ytw_developer
'SwiftUI' 태그의 글 목록 (2 Page)