用於三字位址 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下的專案設定中新增您想要使用的語言。