2016-05-11 46 views
7

Google maps consente di salvare le posizioni preferite per un accesso più semplice in seguito ... vedere here.Android: accesso a posizioni google salvate programmaticamente

In Android, dove è richiesta l'immissione di una posizione, sarebbe corretto se esistesse un'API per consentire all'utente di scegliere tra le posizioni preferite già salvate, ad es. tramite una finestra di selezione o qualcosa del genere.

Non riesco a trovare una tale API ... c'è? Il più vicino che ho trovato è this e this, ma questi non sembrano consentire il prelievo dalle posizioni memorizzate.

+1

Sulla base di questo [thread] (https://groups.google.com/forum/?fromgroups#!msg/google-maps-api/hOmJjw90woM/RaXaOMXArgIJ), non esiste alcuna API che possa fare ciò che si desidera raggiungere. Quindi, al momento, non so se sia possibile o meno, ma prova a controllare questa [domanda SO] (http://stackoverflow.com/questions/11930287/access-locations-in-my-places-of- a-particular-account-through-google-maps-api), potrebbe aiutarti anche in un modo leggero. – KENdi

+0

Che dire di qualcosa come l'API di indirizzo: http://stackoverflow.com/a/33057472/4070848 - Per quanto posso dire, l'utente può scegliere tra i loro indirizzi esistenti (non è sicuro da dove, forse i contatti?). Ho passato ore a cercare di farlo funzionare, ma non ci riesco. Dopo 'Address.requestUserAddress()' restituisce immediatamente un codice di errore a 'onActivityResult()' e nessun selettore e nessun risultato effettivo. – drmrbrewer

risposta

0

Non c'è davvero un modo per farlo, ma è possibile creare il proprio metodo per farlo. Potresti avere un ImageButton con una stella (o qualcosa che simboleggia "salva"). Utilizzare SharedPreferences per salvare le latitudini e le longitudini che gli utenti hanno inserito, e quindi ogni volta che si carica l'applicazione, è possibile controllare se ci sono alcuni valori nello SharedPreferences. In tal caso, è possibile utilizzare uno ListView per visualizzare tutte le posizioni salvate, quindi, quando si fa clic su uno, tornare all'attività padre con Location. Infine, utilizzare Location per orientare correttamente la mappa.

+0

Questo metodo funziona per te? – AkashBhave

+0

Sì, anche se speravo in una soluzione off-the-shelf (non ho intenzione di inventare la ruota quando Google l'ha già fatto). Ma se non c'è, sembra che dovrò tirare il mio. – drmrbrewer

+0

OK, bello! Felice di aver trovato la soluzione! Quindi la mia soluzione non funziona :( – AkashBhave

0

Google/Android non fornisce alcuna API pubblica per accedere alle posizioni speciali/frequenti di un utente e tali dati vengono condivisi solo tra le app di Google.

Dato che questo answer mostra potrebbe essere possibile recuperare i dati di localizzazione tramite le API di piattaforma di Google Plus e Google identità

In alternativa (o in aggiunta), utilizzando Platform più di Google/ Google Platform Identità, se si dispone di un utente autenticato, è possibile effettuare una chiamata API come descritto qui (con esempi) per ottenere uno qualsiasi dei campi specificati per l'utente corrente (inclusa la posizione corrente, organizzazioni (incluso il lavoro) con gli indirizzi, se l'utente ha fornito loro).

Dai un'occhiata al link this.