Autore Topic: Metodi utili Google API  (Letto 707 volte)

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Metodi utili Google API
« il: 03 Marzo 2014, 18:28:46 CET »
0
Salve

vorrei ricavare la posizione attuale, ed in base ad essa dati una serie di indirizzi vedere quale è il più vicino.
Nelle  API Google Maps c'è già qualcosa che semplifica il problema?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Metodi utili Google API
« Risposta #2 il: 04 Marzo 2014, 11:36:09 CET »
0
Converti (o fai convertire lato server) i vari indirizzi in relative coordinate -> Calcoli la distanza dalle coordinate dell'utente con i vari indirizzi -> prendi quello con distanza minore.

grazie! e se volessi far fare questo calcolo a un server? cioè io tramite App gli mando la mia posizione  faccimo conto 3 indirizzi, e il server mi risponde con quello più vicino?

Offline pibraccus

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note
  • Sistema operativo:
    Windows
Re:Metodi utili Google API
« Risposta #3 il: 08 Marzo 2014, 02:33:23 CET »
0
Ciao! Per rispondere al tuo quesito dovresti, in primis inviare al server la tua posizione mediante post o get ad esempio comunicando la latitudine e la latitudine del dispositivo.

esempio:

www.miosito.it/elenco_posti_in_ordine_di_distanza.php?latitudine=45.462987&longitudine=9.166242

lo script php in questione si prenderà i valori $_GET latitudine e longitudine e magari conoscerà già le coordinate dei luoghi che vuoi visualizzare in elenco mediante query al database.

La formula che uso io per determinare la distanza (in linea d'area senza considerare l'effettiva strada da percorrere) è questa:

$distanza = (3958*3.1415926*sqrt(($lat2-$lat1)*($lat2-$lat1) + cos($lat2/57.29578)*cos($lat1/57.29578)*($lon2-$lon1)*($lon2-$lon1))/180)*1.609344

dove chiaramente $lat1 e $lon1 stanno per le coordinate del dispositivo e $lat2 $lon2 sono le coordinate del luogo in esame. Il risultato lo stampi poi in formato JSON. Io faccio spesso uso della libreria Android Query per risparmiare tempo, se vuoi dargli un'occhiata questo è il link https://code.google.com/p/android-query/
Ovviamente c'è tanto altro da dover sviluppare (chiamata asincrona al server, gestire la listview...) se cerchi un po' qua e là sul web (e sono quasi certo ci sia un tutorial anche in questo forum) troverai tante risorse.

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Metodi utili Google API
« Risposta #4 il: 08 Marzo 2014, 10:05:41 CET »
0
ho risolto usando le API Distance Matrix di Google