2013-06-24 159 views
3

我試圖直接從我的應用程序啓動谷歌導航,這樣它會導航我從一個開始地址到目的地地址。所以我有開始和目的地址的緯度和經度座標,並希望得到這些導航。但我無法弄清楚如何提供一個開始地址。導航只使用我的GPS獲取我當前的信息。這是我如何啓動意圖:谷歌導航意圖

 String mLat = "46.849861"; 
     String mLong ="-120.541992"; 
     String dLat = "38.062419"; 
     String dLong = "-99.173584"; 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=" +dLat+","+dLong)); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(intent); 
+0

你說的當前地址是什麼意思?你想獲得用戶的lat和long值嗎? – Mus

+0

不完全。我可能說錯了。我有2個地址。一個是起始地址,另一個是目標地址。起始地址不一定是用戶當前的地址。但是當我使用上面的意圖時,我總是將用戶當前的位置作爲起始地址。我會在我的問題中修改這個 – AndroidDev93

+0

導航基於當前位置。所以提供一個起始地址是沒有意義的。你在舊金山時如何使用從紐約到新澤西的導航? – apricot

回答

1

你能做到這樣

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
    Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345")); 
startActivity(intent); 
+0

我相信這是使用谷歌地圖,而不是谷歌導航?我只想使用Google導航而不使用谷歌地圖 – AndroidDev93

+1

我不認爲有一個標準的方法來做到這一點。從技術上講,可能有無法證明的方式,但我不想使用它們,因爲它們隨時都可以更改。調用Google應用程序的方法支持如下 - http://developer.android.com/guide/appendix/g-app-intents.html – Mus