what3words UI 구성 요소를 위한 Swift 라이브러리입니다. 이 Swift 구성 요소 패키지는 자동 제안 텍스트 필드, 지도 보기 또는 what3words 격자선과 같은 what3word 인터페이스 기능을 앱에 추가하는 간단한 방법을 제공합니다.
여기에는 다음이 포함됩니다.
이 라이브러리를 사용하려면 what3words API 키가 필요하며 여기에서 등록할 수 있습니다. Voice API 호출을 사용하려면 계정에 Voice API 계획을 추가해야 합니다.
프로젝트 설정에서 Swift 패키지에 아래 URL을 추가하여 Swift 패키지 관리자와 함께 설치할 수 있습니다.
https://github.com/what3words/w3w-swift-components.git
라이브러리를 가져옵니다.
import W3WSwiftApi
import W3WSwiftComponents
import CoreLocation
기기에서 Voice API를 사용하는 경우 Info.plist에 마이크 권한을 포함해야 합니다.
W3WAutoSuggestTextField
는 사용자가 텍스트를 입력할 때 세 단어 주소를 제안하는 UITextField
입니다. 선택적으로 음성 인식 옵션이 있습니다.
이는 W3WAutoSuggestTextFieldProtocol
을 준수합니다. 따라서 인터페이스는 Documentation/Autosuggest/autosuggest.md에 문서화되어 있습니다.
W3WAutoSuggestSearchController
는 사용자가 텍스트를 입력할 때 세 단어 주소를 제안하는 UISearchController
입니다. 이를 통해 UINavigationController
와 같은 기능을 포함할 수 있습니다. 선택적으로 음성 인식 옵션이 있습니다.
이는 W3WAutoSuggestTextFieldProtocol
을 준수합니다. 따라서 인터페이스는 Documentation/Autosuggest/autosuggest.md에 문서화되어 있습니다.
지도 도우미를 사용하면 what3words 지도 기능을 기존 지도에 쉽게 통합할 수 있습니다.
W3WMapHelper
W3WMapViewProtocol
을 준수합니다. 이에 대한 함수 참조는 Documentation/Map/map.md에서 찾을 수 있습니다.
let api = What3WordsV4(apiKey: "YourApiKey")
let mapHelper = W3WMapHelper(api, map: yourMKMapView)
앱에 지도가 있는 ViewController가 이미 있는 경우 W3WMapHelper
what3words 그리드 및 핀 주석이 지도에 표시되도록 MKMapViewDelegate
함수에 추가할 수 있는 편리한 기능을 제공합니다. 위에 링크된 예는 호출할 위치와 W3WMapHelper
를 인스턴스화하는 방법을 보여줍니다.
W3WMapView
W3WMapViewProtocol
을 준수합니다. 이에 대한 함수 참조는 Documentation/Map/map.md에서 찾을 수 있습니다.
let api = What3WordsV4(apiKey: "YourApiKey")
let mapview = W3WMapView(api)
우리는 what3words 기능을 앱에 빠르게 추가할 수 있는 빠르고 더러운 방법으로 W3WMapView
만들었습니다.
MKMapView를 W3WMapView로 바꾸기만 하면 앱은 what3words 그리드 선을 그리고 addMarker(at: "filled.count.soap")
와 같은 몇 가지 새로운 기능을 사용할 수 있다는 점을 제외하면 이전과 동일하게 작동해야 합니다.
MKMapView
에서 파생되었지만 Apple은 아마도 인터페이스가 미래에 변경될 수 있기 때문에 MKMapView에서 새 개체를 파생하는 것을 권장하지 않으므로 이를 앱에 기능을 추가하는 빠르고 더러운 방법으로 간주하세요.
더 나은 접근 방식은 MKMapViewDelegate
준수 클래스(아마도 UIViewController
에 잘 맞도록 설계된 W3WMapHelper
를 사용하는 것입니다.
W3WMapViewController
W3WMapViewProtocol
을 준수합니다. 이에 대한 함수 참조는 Documentation/Map/map.md에서 찾을 수 있습니다.
let api = What3WordsV4(apiKey: "YourApiKey")
let vc = W3WMapViewController(api)
이것은 what3words 기능을 쉽게 사용할 수 있는 상위 수준 구성 요소인 W3WMapViewController
보여줍니다.
앱에 지도가 없고 몇 가지 기본 동작이 포함된 지도를 빠르게 포함하고 싶다면 이 지도가 적합할 수 있습니다.
이러한 구성 요소의 측정 시스템은 사용자의 기본 설정이나 로캘로 자동 설정되지만 이를 .metric
또는 .imperial
로 재정의할 수 있습니다.
W3WSettings . measurement = . metric
W3WAutosuggest 구성 요소는 약 50개 언어로 번역되었으며 이에 대한 Localizable.strings
파일은 이 패키지의 리소스에 있습니다. iOS 현지화 설정과 마찬가지로 작동하려면 Info -> Localizations 아래의 프로젝트 설정에서 사용하려는 언어를 추가해야 합니다.