Une bibliothèque Swift pour les composants de l'interface utilisateur what3words. Ce package de composants Swift fournit un moyen simple d'ajouter des fonctionnalités d'interface What3word à votre application, telles que des champs de texte de suggestion automatique, des vues de carte ou des lignes de grille What3words dans votre application.
Il comprend :
Pour utiliser cette bibliothèque, vous aurez besoin d'une clé API what3words, pour laquelle vous pouvez vous inscrire ici. Si vous souhaitez utiliser les appels Voice API, vous devez ajouter un plan Voice API à votre compte.
Vous pouvez installer avec Swift Package Manager en ajoutant l'URL ci-dessous aux packages Swift dans les paramètres de votre projet :
https://github.com/what3words/w3w-swift-components.git
Importez les bibliothèques :
import W3WSwiftApi
import W3WSwiftComponents
import CoreLocation
Si vous utilisez l'API vocale sur l'appareil, vous devez inclure les autorisations du microphone dans votre Info.plist :
Le W3WAutoSuggestTextField
est un UITextField
qui suggérera trois adresses de mots lorsque l'utilisateur saisira du texte. En option, il existe une option de reconnaissance vocale.
Ceci est conforme à notre W3WAutoSuggestTextFieldProtocol
. En tant que telle, l'interface est documentée dans Documentation/Autosuggest/autosuggest.md.
Le W3WAutoSuggestSearchController
est un UISearchController
qui suggérera trois adresses de mots lorsque l'utilisateur saisit du texte. Cela permet d'intégrer cette fonctionnalité dans des éléments tels que UINavigationController
. En option, il existe une option de reconnaissance vocale.
Ceci est conforme à notre W3WAutoSuggestTextFieldProtocol
. En tant que telle, l'interface est documentée dans Documentation/Autosuggest/autosuggest.md.
Map Helper vous permet d'intégrer facilement les fonctionnalités de la carte What3words dans une carte existante.
W3WMapHelper
est conforme à W3WMapViewProtocol
. Une référence de fonction pour celui-ci peut être trouvée dans Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let mapHelper = W3WMapHelper(api, map: yourMKMapView)
Si votre application dispose déjà d'un ViewController doté d'une carte, W3WMapHelper
fournit des fonctions pratiques à ajouter à vos fonctions MKMapViewDelegate
pour que la grille what3words et les annotations d'épingle apparaissent sur votre carte. L'exemple lié ci-dessus montre où vous passerez les appels et comment instancier le W3WMapHelper
.
W3WMapView
est conforme à W3WMapViewProtocol
. Une référence de fonction pour celui-ci peut être trouvée dans Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let mapview = W3WMapView(api)
Nous avons créé W3WMapView
comme un moyen rapide et simple d'intégrer rapidement la fonctionnalité what3words dans votre application.
Remplacez simplement votre MKMapView par W3WMapView, et votre application devrait se comporter de la même manière qu'avant, sauf qu'elle dessinera des lignes de grille what3words et aura de nouvelles fonctions disponibles, comme addMarker(at: "filled.count.soap")
.
Il est dérivé de MKMapView
, mais Apple ne recommande pas de dériver de nouveaux objets de MKMapView, probablement parce que son interface pourrait changer à l'avenir, alors considérez cela comme un moyen rapide et sale d'intégrer la fonctionnalité dans votre application.
La meilleure approche serait d'utiliser W3WMapHelper
qui est conçu pour s'intégrer parfaitement dans votre classe conforme MKMapViewDelegate
, probablement un UIViewController
.
W3WMapViewController
est conforme à W3WMapViewProtocol
. Une référence de fonction pour celui-ci peut être trouvée dans Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let vc = W3WMapViewController(api)
Cela démontre W3WMapViewController
qui est un composant de haut niveau doté de fonctionnalités what3words faciles à utiliser.
Si vous n'avez pas de carte dans votre application et que vous souhaitez en inclure rapidement une avec certains comportements par défaut, celle-ci pourrait être faite pour vous.
Le système de mesure de ces composants est automatiquement défini selon les préférences ou les paramètres régionaux de l'utilisateur, mais vous pouvez remplacer cela par .metric
ou .imperial
:
W3WSettings . measurement = . metric
Les composants W3WAutosuggest ont été traduits dans environ 50 langues, et les fichiers Localizable.strings
correspondants se trouvent dans les ressources de ce package. Pour qu'ils fonctionnent, comme avec tous les paramètres de localisation iOS, assurez-vous d'ajouter les langues que vous souhaitez utiliser dans les paramètres de votre projet sous Info -> Localisations .