Uma biblioteca Java para usar a API WHAT3WORDS V3.
Os métodos da API são agrupados em um único objeto de serviço que pode ser gerenciado centralmente por uma instância What3WordSv3. Ele atuará como uma fábrica para todos os terminais da API e os inicializará automaticamente com sua chave da API.
Para obter uma chave da API, visite https://what3words.com/select-plan e inscreva-se em uma conta.
O artefato está disponível na Maven Central.
< dependency >
< groupId >com.what3words</ groupId >
< artifactId >w3w-java-wrapper</ artifactId >
< version >3.1.19</ version >
</ dependency >
Implementação 'com.what3words: w3w-java-wrapper: 3.1.19'
Veja a documentação da API pública What3Words
// For all requests a what3words API key is needed
What3WordsV3 api = new What3WordsV3 ( "what3words-api-key" );
// In the case that you run our Enterprise Suite API Server yourself, you may specify the URL to your own server like so:
//What3WordsV3 api = new What3WordsV3("what3words-api-key", "https://api.yourserver.com/v3/");
/**
* Additionally, if you run the Enterprise Suite API Server there is another optional setup() parameter: customHeaders.
* Use this if you need to send custom headers to your own server:
*/
//Map<String, String> headers = new HashMap<String, String>();
//headers.put("Name1", "Value1");
//headers.put("Name2", "Value2");
//What3WordsV3 api = new What3WordsV3("what3words-api-key", "https://api.yourserver.com/v3/", headers);
// Create and execute a request with the 3 word address such as "filled.count.soap"
ConvertToCoordinates coordinates = api . convertToCoordinates ( "filled.count.soap" ). execute ();
if ( coordinates . isSuccessful ()) { // the request was successful
System . out . println ( "Coordinates: " + coordinates );
} else { // the request was not successful
What3WordsError error = coordinates . getError ();
if ( error == What3WordsError . BAD_WORDS ) { // The three word address provided is invalid
System . out . println ( "BadWords: " + error . getMessage ());
} else if ( error == What3WordsError . INTERNAL_SERVER_ERROR ) { // Server Error
System . out . println ( "InternalServerError: " + error . getMessage ());
} else if ( error == What3WordsError . NETWORK_ERROR ) { // Network Error
System . out . println ( "NetworkError: " + error . getMessage ());
} else { // Unknown Error
System . out . println ( error + ": " + error . getMessage ());
}
}
Verifique se uma string é um possível endereço What3Words. Um lembrete de que isso apenas verifica o formato do texto, portanto, por que é chamado de possível 3wa, para verificar se é um endereço real do What3Words, por favor, use é um endereço válido de 3 palavras.
Boolean isPossible = What3WordsV3 . isPossible3wa ( "filled.count.soap" ); // returns true
Boolean isPossible = What3WordsV3 . isPossible3wa ( "not a 3wa" ); // returns false
Boolean isPossible = What3WordsV3 . isPossible3wa ( "not.3wa address" ); //returns false
Verifique se uma string é um possível endereço What3Words, este regex permite diferentes separadores (ou seja: não usando o stop/ponto completo padrão). Um lembrete de que isso apenas verifica o formato do texto, portanto, por que se chama DidyouMean3wa, para verificar se é um endereço real What3Words, por favor, use é um endereço de 3 palavras válido usando parada completa como separador.
Boolean isDym = What3WordsV3 . didYouMean3wa ( "filled-count-soap" ); // returns true
Boolean isDym = What3WordsV3 . didYouMean3wa ( "not valid" ); // returns false
Boolean isDym = What3WordsV3 . didYouMean3wa ( "not.3wa address" ); // returns false
Boolean isDym = What3WordsV3 . didYouMean3wa ( "not.threewa address" ); // returns true
Obtenha qualquer possível endereços What3Words de um texto. Retornará uma lista vazia se nenhum endereço possível for encontrado. Lembrete de que isso apenas verifica o formato do texto, portanto, por que se chama FindPossible3WA, para verificar se é um endereço real do What3Words, por favor, use é um endereço válido de 3 palavras para verificar cada item da lista.
List < String > possible = What3WordsV3 . findPossible3wa ( "Please leave by my porch at filled.count.soap" ); //returns ["filled.count.soap"]
List < String > possible = What3WordsV3 . findPossible3wa ( "Please leave by my porch at filled.count.soap or deed.tulip.judge" ); // returns ["filled.count.soap", "deed.tulip.judge"]
List < String > possible = What3WordsV3 . findPossible3wa ( "Please leave by my porch at" ); // returns []