2013-08-08 6 views
17

Ich versuche, Google Maps von meiner Anwendung zu öffnen, eine Route von der aktuellen Position des Telefons zu einer festen Position. Ich verwende diesen Code:Öffnen Sie Android native Google Maps App erhalten Richtungen beginnend von der aktuellen Position

String uri = "https://maps.google.com/maps?saddr=&daddr=example";   
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
startActivity(i); 

Das Problem ist, dass ich weiß nicht, was saddr = setzen in meiner aktuellen Position zu verweisen. Ich habe viele andere Fragen wie diese gefunden, aber keine Antwort funktionierte (wie verlassen saddr = leer oder saddr = Current, sie funktionieren nicht).

Ich möchte nicht native Android-Locator verwenden, ich möchte nur wissen, ob es eine Möglichkeit gibt, Google Maps "Start von meiner aktuellen Position" zu fragen.

+0

Wenn Sie auf den Marker der Karte klicken, sollte es auf Google Navigation gehen? oder möchten Sie Routen vom aktuellen Standort aus zeichnen? – Shadow

+0

Ich möchte, dass meine Anwendung direkt mit Intent eingerichtet wird. Rufen Sie die Karte auf, um die Route vom aktuellen Standort zum festen Standort anzuzeigen, sodass der Benutzer die Navigation nicht selbst einrichten muss. –

Antwort

19

Sie können es explizit im Richtungsmodus mit einem f=d Parameter öffnen. Bei dieser Einstellung und ohne Startadresse sollte der aktuelle Standort des Geräts verwendet werden. So mehr wie folgt aus:

"https://maps.google.com/maps?f=d&daddr=berlin"

Hinweis: Dies funktioniert nicht in einem Browser; Es öffnet die Anleitungsseite mit einem leeren Feld für den Start. In einer Absicht verwendet, die an die native Kartenanwendung gesendet wird, funktioniert es korrekt (zumindest auf meinem 4.2.2 gNex).

+0

Dies ist sehr nützlich.Wenn Sie eine andere Startadresse als Ihren eigenen verwenden möchten, ändern Sie die URL wie folgt: '" http://maps.google.com/maps?saddr=hamburg&daddr=berlin "'. Funktioniert auch im Browser (zumindest in Chrome). – mass

4

in obigen Beitrag

https://maps.google.com/maps?f=d&daddr=berlin

Es wird Sie für Quelladresse bitten, es nicht automatisch Ihre Quelladresse übergeben werden Sie es auf der Karte auswählen müssen durch Abkleben,

können Sie GPS verwenden für dass Zweck ... nach dem LatLng bekommen Koordinaten Sie sie mit url passieren können ... aber es sollte in f sein = a nicht = d ..

https://maps.google.com/[email protected]=LatLng&daddr=badlapur

f
+0

Ich habe seit Tagen für diese Abfrage Zeichenfolge gesucht, danke !!! – samosaris

+0

Es nimmt immer noch Ihren Standort als Quelladresse. Irgendeine Idee, wie man es oder spezifischen Schritt macht? –

2

abstürzen werde ich nur verwendet Dies und es öffnete sich direkt zu Google Maps im Navigationsmodus von meinem aktuellen Standort an die Adresse in der Textvariablen angegeben. Text sollte im gleichen Format sein, wie Sie es in der Suchleiste, um sich selbst

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("google.navigation:q="+text)); 
startActivity(intent); 
0

Versuchen Sie, diese geben würde: kann

"https://www.google.com/maps/dir//41.3951982,-72.855568/41.279386,-72.825098" 

Sie mehrere Standorte haben, aber die Lage Start wird aktuellen Standort sein.