Allora, procediamo per ordine. Innanzitutto per localizzare la propria posizione ogni cellulare ha bisogno necessariamente di un'antenna GPS. Ormai il 99% degli smartphone, che siano bada/android/ios/wp possiedono un'antenna gps integrata. Per usare il gps non è necessaria alcuna connessione dati, è un servizio totalmente gratuito. Tuttavia il gps, appena attivato, richiede tempo per localizzare la posizione (da 20-30 secondi fino a svariati minuti) per questo è stato introdotto l'A-GPS ovvero il gps assistito. Come funziona? Il telefono scarica alcune informazioni da internet e dalle celle telefoniche più vicine per restringere il campo di ricerca ad un raggio di alcuni chilometri, dopodichè il gps si occupa di agganciare i satelliti che coprono meglio quella zona. Con questo metodo il fix dei satelliti richiede pochi secondi ed in generale non supera mai il minuto. L'A-GPS, però, come già detto, necessita di connesione ad internet, quindi metti in preventivo eventuali costi. In ogni caso su tutti gli smartphone l'assistente è disabilitabile, quindi puoi usare il gps nudo e crudo senza spese, solo che dovrai attendere un po' di più.
Passiamo alla navigazione. Per quanto riguarda java stendiamo un velo pietoso sui navigatori. Riguardo bada ci sono almeno due navigatori (di cui non ricordo il nome) che sembrano validi ma sono entrambi a pagamento (ma credo siano offline, quindi non avrai bisogno di connessione dati). Su bada lascio la parola a chi ha provato questi navigatori. Riguardo android c'è innanzitutto il navigatore integrato di google che funziona molto bene ma necessita di connesione internet permanente, poi ce ne sono alcuni a pagamento ma anche 2-3 gratuiti piuttosto validi ed offline (sicuramente migliori di quelli java

: ). Comunque se posso darti un consiglio, evita il corby e se proprio vuoi prendere il wave y aggiungi 30-40 euro e comprati il galaxy mini 2 o l'xperia mini, sono tutto un altro pianeta.