2016-05-11 11 views
7

Google Maps ermöglicht die Speicherung bevorzugter Standorte für einen späteren leichteren Zugriff ... siehe here.Android: Zugriff auf gespeicherte Google-Standorte programmgesteuert

In Android, wo ein Ort eingegeben werden muss, wäre es nett, wenn es eine API gäbe, die es dem Benutzer ermöglicht, aus seinen bereits gespeicherten Lieblingsorten auszuwählen, z. über einen Picker-Dialog oder etwas in dieser Richtung.

Ich kann eine solche API nicht finden ... gibt es? Der nächstgelegene ich gefunden habe, ist this und this, aber diese scheinen nicht von Ihren gespeicherten Orten zu ermöglichen Kommissionierung.

+1

Basierend auf diesem [thread] (https://groups.google.com/forum/?fromgroups#!msg/google-maps-api/hOmJjw90woM/RaXaOMXArgIJ) gibt es keine API, die das tun kann, was Sie tun möchten leisten. So wie jetzt weiß ich nicht, ob dies möglich ist oder nicht, sondern versuchen, diese [SO Frage] zu überprüfen (http://stackoverflow.com/questions/11930287/access-locations-in-my-places-of- a-particular-account-durch-google-maps-api), könnte es Ihnen auch in einer leichten Art und Weise helfen. – KENdi

+0

Was ist so etwas wie die Adresse API: http://stackoverflow.com/a/33057472/4070848 - So weit ich das beurteilen kann, kann der Benutzer aus ihren bestehenden Adressen wählen (? Nicht sicher, wo aus, vielleicht Kontakten). Ich habe Stunden damit verbracht, es zum Laufen zu bringen, kann es aber nicht. Nach 'Address.requestUserAddress()' gibt es einfach einen Fehlercode zurück zu 'onActivityResult() 'und keine Auswahl und keine tatsächlichen Ergebnisse. – drmrbrewer

Antwort

0

Es gibt wirklich keine Möglichkeit, dies zu tun, aber Sie könnten Ihre eigene Methode erstellen, um dies zu tun. Sie könnten eine ImageButton mit einem Stern haben (oder irgendetwas, das "speichern" symbolisiert). Verwenden Sie SharedPreferences die Längen- und Breitengrade zu speichern, die der Benutzer eingegeben, und dann wird jedes Mal, wenn die Anwendung geladen, können Sie überprüfen, um zu sehen, ob es einige Werte in der SharedPreferences sind. Wenn ja, könnten Sie eine ListView verwenden, um alle gespeicherten Orte zu zeigen, und dann, wenn man angeklickt wird, Rückkehr in die übergeordnete Aktivität mit dem Location. Verwenden Sie schließlich die Location, um die Karte korrekt auszurichten.

+0

Funktioniert diese Methode für Sie? – AkashBhave

+0

Ja, obwohl ich auf eine Standardlösung gehofft hatte (es hat keinen Sinn, das Rad neu zu erfinden, als Google das schon getan hat). Aber wenn nicht, sieht es so aus, als müsste ich meine eigenen rollen. – drmrbrewer

+0

OK, cool! Schön, dass Sie Ihre Lösung gefunden haben! Also meine Lösung funktioniert nicht :( – AkashBhave

0

Google/Android bietet keine öffentliche API für den Zugriff auf die markierten/häufigen Standorte eines Nutzers, und diese Daten werden nur unter den Google Apps geteilt.

Da diese answer zeigt es möglich sein könnte, Standortdaten über die Google Plus und Google Identität Plattform-APIs

Alternativ zu holen (oder zusätzlich zu) unter Verwendung von Google Plus-Plattform/ Google Identität Platform, wenn Sie haben einen authentifizierten Benutzer, können Sie einen API-Aufruf machen, wie hier beschrieben (mit Beispielen) für den aktuellen Benutzer eine der angegebenen Felder zu erhalten (einschließlich Currentlocation, Organisationen (einschließlich der Arbeit) mit Adressen, wenn der Benutzer bereitgestellt Sie).

Werfen Sie einen Blick auf this Link.

Verwandte Themen