what3words UI コンポーネント用の Swift ライブラリ。この Swift コンポーネント パッケージは、自動提案テキスト フィールド、マップ ビュー、what3words グリッド ラインなどの what3word インターフェイス機能をアプリに追加する簡単な方法を提供します。
これには次のものが含まれます。
このライブラリを使用するには、what3words API キーが必要です。これは、ここでサインアップできます。 Voice API 呼び出しを使用したい場合は、Voice API プランをアカウントに追加する必要があります。
プロジェクト設定の Swift Packages に以下の URL を追加することで、Swift Package Manager を使用してインストールできます。
https://github.com/what3words/w3w-swift-components.git
ライブラリをインポートします。
import W3WSwiftApi
import W3WSwiftComponents
import CoreLocation
デバイスで Voice API を使用している場合は、Info.plist にマイクのアクセス許可を含める必要があります。
W3WAutoSuggestTextField
は、ユーザーがテキストを入力するときに 3 つの単語アドレスを提案するUITextField
です。オプションで音声認識オプションもあります。
これはW3WAutoSuggestTextFieldProtocol
に準拠しています。そのため、インターフェイスは Documentation/Autosuggest/autosuggest.md に文書化されています。
W3WAutoSuggestSearchController
は、ユーザーがテキストを入力するときに 3 つの単語アドレスを提案するUISearchController
です。これにより、この機能をUINavigationController
などに埋め込むことができます。オプションで音声認識オプションもあります。
これはW3WAutoSuggestTextFieldProtocol
に準拠しています。そのため、インターフェイスは Documentation/Autosuggest/autosuggest.md に文書化されています。
Map Helper を使用すると、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 ローカリゼーション設定と同様に、使用する言語を必ずプロジェクト設定の[情報] -> [ローカリゼーション]に追加してください。