用于三词地址 UI 组件的 Swift 库。此 Swift 组件包提供了一种简单的方法来将三词地址界面功能添加到您的应用程序中,例如自动建议文本字段、地图视图或三词地址网格线。
它包括:
要使用此库,您需要一个三词地址 API 密钥,可以在此处注册。如果您希望使用语音 API 调用,则必须将语音 API 计划添加到您的帐户。
您可以通过将以下 URL 添加到项目设置下的 Swift Packages 来使用 Swift Package Manager 进行安装:
https://github.com/what3words/w3w-swift-components.git
导入库:
import W3WSwiftApi
import W3WSwiftComponents
import CoreLocation
如果您在设备上使用语音 API,则应在 Info.plist 中包含麦克风权限:
W3WAutoSuggestTextField
是一个UITextField
,它将在用户输入文本时建议三个单词的地址。可选地,有一个语音识别选项。
这符合我们的W3WAutoSuggestTextFieldProtocol
。因此,该接口记录在 Documentation/Autosuggest/autosuggest.md 中。
W3WAutoSuggestSearchController
是一个UISearchController
,它将在用户输入文本时建议三个单词的地址。这允许将此功能嵌入到UINavigationController
等事物中。可选地,有一个语音识别选项。
这符合我们的W3WAutoSuggestTextFieldProtocol
。因此,该接口记录在 Documentation/Autosuggest/autosuggest.md 中。
地图助手可让您轻松将三词地址地图功能集成到现有地图中。
W3WMapHelper
符合W3WMapViewProtocol
。它的函数参考可以在 Documentation/Map/map.md 找到
let api = What3WordsV4(apiKey: "YourApiKey")
let mapHelper = W3WMapHelper(api, map: yourMKMapView)
如果您的应用程序已经有一个包含地图的 ViewController, W3WMapHelper
提供了方便的函数来添加到您的MKMapViewDelegate
函数,以便三词地址网格和图钉注释显示在您的地图上。上面链接的示例显示了您将在哪里进行调用,以及如何实例化W3WMapHelper
。
W3WMapView
符合W3WMapViewProtocol
。它的函数参考可以在 Documentation/Map/map.md 找到
let api = What3WordsV4(apiKey: "YourApiKey")
let mapview = W3WMapView(api)
我们创建W3WMapView
作为一种快速而肮脏的方式,可以将三词地址功能快速添加到您的应用程序中。
只需将 MKMapView 替换为 W3WMapView,您的应用程序的行为应该与以前相同,只是它会绘制三词网格线,并具有一些可用的新功能,例如addMarker(at: "filled.count.soap")
。
它派生自MKMapView
,但 Apple 不建议从 MKMapView 派生新对象,可能是因为它的界面将来可能会发生变化,因此将此视为将功能添加到应用程序中的一种快速而肮脏的方式。
更好的方法是使用W3WMapHelper
,它的设计非常适合您的MKMapViewDelegate
一致类,大概是UIViewController
。
W3WMapViewController
符合W3WMapViewProtocol
。它的函数参考可以在 Documentation/Map/map.md 找到
let api = What3WordsV4(apiKey: "YourApiKey")
let vc = W3WMapViewController(api)
这演示了W3WMapViewController
,它是一个高级组件,具有易于使用的三词地址功能。
如果您的应用程序中没有地图,并且希望快速添加具有某些默认行为的地图,那么这款地图可能适合您。
这些组件中的度量系统会自动设置为用户的首选项或区域设置,但您可以将其覆盖为.metric
或.imperial
:
W3WSettings . measurement = . metric
W3WAutosuggest 组件已被翻译成大约 50 种语言,这些组件的Localizable.strings
文件位于该包的参考资料中。为了让它们正常工作,与任何 iOS 本地化设置一样,请务必在Info -> Localizations下的项目设置中添加您想要使用的语言。