2014-03-06 50 views
16

我想從我的應用程序意圖開始一個導航活動。我希望它從我的位置開始導航到我提供的點。我試過這樣導航意圖,將與地圖和眨眼合作

String uri = "geo: "+String.valueOf(latitude) + "," + String.valueOf(longitude); 
context.startActivity(new Intent(android.content.Intent.ACTION_VIEW, 
          Uri.parse(uri))); 

當我選擇與Waze導航(它與「開始導航」對話框馬上啓動)它的偉大工程,但不工作與maps(只顯示了一點,而不是導航選項)

如果我用這種方式

Intent intent = 
      new Intent(Intent.ACTION_VIEW, 
        Uri.parse("http://maps.google.com/maps?" + 
          "&daddr=" + String.valueOf(latitude) + "," 
          + String.valueOf(longitude))); 
context.startActivity(intent); 

它的對面,maps啓動導航並只顯示與Waze

謝謝!

回答

19

我這個做我自己,不得不使用它通過以下方式沒有任何問題:

intent.setData(Uri.parse("geo:" + getLatitude() + "," + 
    getLongitude() + "?q=" + getStreet() + "+" + 
    getHousenumber() + "+" + getPostalcode() + "+" + 
    getCity())); 

不同的是,我用「& Q =」爲查詢由谷歌說。

參見: https://developer.android.com/guide/components/intents-common.html#Maps

+2

我沒有地方的地址,但我已經添加了緯度和經度到Q字符串和它的工作! – RCB

+8

String uri =「geo:0,0?q =」+ latitude +「,」+ longitude; startActivity(new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(uri))); –

+0

它不一定是地址btw,你可以通過POI的名稱,或按照RCB和Avi Cohen的說法,如果你不是 –

-2

確定谷歌地圖

final String uri="http://maps.google.com/maps?f=d&hl=de&geocode=&saddr=" + Global.lattaxi + "," + Global.lontaxi + "&daddr=" + Global.latcliente + "," + Global.loncliente + "&ie=UTF8"; 
    final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 

    intent.setComponent(new ComponentName(
      "com.google.android.apps.maps", 
      "com.google.android.maps.MapsActivity")); 
    startActivity(intent); 
+0

寫你用英語回答 –