Uma biblioteca Swift para componentes de UI do what3words. Este pacote de componentes Swift fornece uma maneira direta de adicionar funcionalidade de interface what3word ao seu aplicativo, como sugestão automática de campos de texto, visualizações de mapa ou linhas de grade what3words em seu aplicativo.
Inclui:
Para usar esta biblioteca você precisará de uma chave API what3words, que pode ser cadastrada aqui. Se desejar usar as chamadas da API de voz, você deverá adicionar um plano da API de voz à sua conta.
Você pode instalar com o Swift Package Manager adicionando o URL abaixo aos Pacotes Swift nas configurações do seu projeto:
https://github.com/what3words/w3w-swift-components.git
Importe as bibliotecas:
import W3WSwiftApi
import W3WSwiftComponents
import CoreLocation
Se estiver usando a API de voz no dispositivo, você deve incluir permissões de microfone em seu Info.plist:
O W3WAutoSuggestTextField
é um UITextField
que irá sugerir endereços de três palavras conforme o usuário insere o texto. Opcionalmente, existe uma opção de reconhecimento de voz.
Isso está em conformidade com nosso W3WAutoSuggestTextFieldProtocol
. Como tal, a interface está documentada em Documentation/Autosuggest/autosuggest.md.
O W3WAutoSuggestSearchController
é um UISearchController
que irá sugerir endereços de três palavras conforme o usuário insere o texto. Isso permite incorporar essa funcionalidade em coisas como UINavigationController
. Opcionalmente, existe uma opção de reconhecimento de voz.
Isso está em conformidade com nosso W3WAutoSuggestTextFieldProtocol
. Como tal, a interface está documentada em Documentation/Autosuggest/autosuggest.md.
O Map Helper permite integrar facilmente os recursos do mapa what3words em um mapa existente.
W3WMapHelper
está em conformidade com W3WMapViewProtocol
. Uma referência de função para ele pode ser encontrada em Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let mapHelper = W3WMapHelper(api, map: yourMKMapView)
Se o seu aplicativo já possui um ViewController que possui um mapa, W3WMapHelper
fornece funções convenientes para adicionar às suas funções MKMapViewDelegate
para que a grade what3words e anotações de pinos apareçam em seu mapa. O exemplo vinculado acima mostra onde você faria as chamadas e como instanciar o W3WMapHelper
.
W3WMapView
está em conformidade com W3WMapViewProtocol
. Uma referência de função para ele pode ser encontrada em Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let mapview = W3WMapView(api)
Criamos W3WMapView
como uma maneira rápida e suja de obter rapidamente a funcionalidade what3words em seu aplicativo.
Simplesmente substitua seu MKMapView por W3WMapView e seu aplicativo deverá se comportar da mesma forma que antes, exceto que desenhará linhas de grade what3words e terá algumas novas funções disponíveis, como addMarker(at: "filled.count.soap")
.
É derivado do MKMapView
, mas a Apple não recomenda derivar novos objetos do MKMapView, provavelmente porque sua interface pode mudar no futuro, então veja isso como uma maneira rápida e suja de obter a funcionalidade em seu aplicativo.
A melhor abordagem seria usar W3WMapHelper
, que foi projetado para se ajustar perfeitamente à sua classe em conformidade com MKMapViewDelegate
, presumivelmente um UIViewController
.
W3WMapViewController
está em conformidade com W3WMapViewProtocol
. Uma referência de função para ele pode ser encontrada em Documentation/Map/map.md
let api = What3WordsV4(apiKey: "YourApiKey")
let vc = W3WMapViewController(api)
Isso demonstra W3WMapViewController
, que é um componente de alto nível que possui funcionalidade what3words fácil de usar.
Se você não possui um mapa em seu aplicativo e deseja incluir rapidamente um com alguns comportamentos padrão, este pode ser para você.
O sistema de medição nesses componentes é definido automaticamente de acordo com a preferência ou localidade do usuário, mas você pode substituir isso por .metric
ou .imperial
:
W3WSettings . measurement = . metric
Os componentes W3WAutosuggest foram traduzidos para cerca de 50 idiomas e os arquivos Localizable.strings
para eles estão nos Recursos deste pacote. Para que funcionem, como acontece com qualquer configuração de localização do iOS, certifique-se de adicionar os idiomas que deseja usar nas configurações do seu projeto em Info -> Localizations .