Una biblioteca Swift para los componentes de la interfaz de usuario de what3words. Este paquete de componentes Swift proporciona una manera sencilla de agregar la funcionalidad de la interfaz de what3word a su aplicación, como campos de texto de sugerencia automática, vistas de mapas o líneas de cuadrícula de what3words.
Incluye:
Para utilizar esta biblioteca, necesitará una clave API de what3words, a la que puede registrarse aquí. Si desea utilizar las llamadas de Voice API, debe agregar un plan de Voice API a su cuenta.
Puede instalar con Swift Package Manager agregando la siguiente URL a Swift Packages en la configuración de su proyecto:
https://github.com/what3words/w3w-swift-components.git
Importar las bibliotecas:
import W3WSwiftApi
import W3WSwiftComponents
import CoreLocation
Si está utilizando Voice API en el dispositivo, debe incluir permisos de micrófono en su Info.plist:
W3WAutoSuggestTextField
es un UITextField
que sugerirá direcciones de tres palabras a medida que el usuario ingresa texto. Opcionalmente, existe una opción de reconocimiento de voz.
Esto se ajusta a nuestro W3WAutoSuggestTextFieldProtocol
. Como tal, la interfaz está documentada en Documentation/Autosuggest/autosuggest.md.
W3WAutoSuggestSearchController
es un UISearchController
que sugerirá direcciones de tres palabras a medida que el usuario ingresa texto. Esto permite incorporar esta funcionalidad en cosas como UINavigationController
. Opcionalmente, existe una opción de reconocimiento de voz.
Esto se ajusta a nuestro W3WAutoSuggestTextFieldProtocol
. Como tal, la interfaz está documentada en Documentation/Autosuggest/autosuggest.md.
Map Helper le permite integrar fácilmente las características del mapa de what3words en un mapa existente.
W3WMapHelper
se ajusta al W3WMapViewProtocol
. Puede encontrar una referencia de función en Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let mapHelper = W3WMapHelper(api, map: yourMKMapView)
Si su aplicación ya tiene un ViewController que tiene un mapa, W3WMapHelper
proporciona funciones convenientes para agregar a sus funciones MKMapViewDelegate
para que las anotaciones de cuadrícula y pin de what3words aparezcan en su mapa. El ejemplo vinculado anteriormente muestra dónde realizaría las llamadas y cómo crear una instancia de W3WMapHelper
.
W3WMapView
se ajusta al W3WMapViewProtocol
. Puede encontrar una referencia de función en Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let mapview = W3WMapView(api)
Creamos W3WMapView
como una forma rápida y sencilla de incorporar rápidamente la funcionalidad de what3words a su aplicación.
Simplemente reemplace su MKMapView con W3WMapView, y su aplicación debería comportarse igual que antes, excepto que dibujará líneas de cuadrícula de what3words y tendrá algunas funciones nuevas disponibles, como addMarker(at: "filled.count.soap")
.
Se deriva de MKMapView
, pero Apple no recomienda derivar nuevos objetos de MKMapView, presumiblemente porque su interfaz podría cambiar en el futuro, así que considérelo como una forma rápida y sucia de incorporar la funcionalidad a su aplicación.
El mejor enfoque sería utilizar W3WMapHelper
, que está diseñado para encajar perfectamente en su clase compatible MKMapViewDelegate
, presumiblemente un UIViewController
.
W3WMapViewController
se ajusta a W3WMapViewProtocol
. Puede encontrar una referencia de función en Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let vc = W3WMapViewController(api)
Esto demuestra W3WMapViewController
, que es un componente de alto nivel que tiene la funcionalidad what3words fácil de usar.
Si no tiene un mapa en su aplicación y desea incluir rápidamente uno con algunos comportamientos predeterminados, este podría ser para usted.
El sistema de medición en estos componentes se configura automáticamente según la preferencia o configuración regional del usuario, pero puede anular esto a .metric
o .imperial
:
W3WSettings . measurement = . metric
Los componentes W3WAutosuggest se han traducido a unos 50 idiomas y los archivos Localizable.strings
para estos se encuentran en los Recursos de este paquete. Para que funcionen, como con cualquier configuración de localización de iOS, asegúrese de agregar los idiomas que desea usar en la configuración de su proyecto en Información -> Localizaciones .