如何使用" google.navigation:ll"?从活动中为Google地图意图添加源地址?

时间:2016-08-18 07:37:57

标签: android google-maps android-intent

我想在google.navigation:ll中添加源地址。当我使用此功能时,它会显示从current location到设置目标的导航。如何为source address添加参数?

这是我目前的代码行:

double latitudeDestination = 22.5834881; // or some other location
double longitudeDestination = 88.3078827; // or some other location
String requestedMode = "car"; // or bike or car
String mode = "";
if(requestedMode.equals("walking")) {
   mode = "&mode=w";
 } else if(requestedMode.equals("bike")) {
   mode = "&mode=b";
 } else if(requestedMode.equals("car")) {
   mode = "&mode=c";
 }

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
                Uri.parse(String.format("google.navigation:ll=%s,%s%s,
                latitudeDestination, longitudeDestination, mode)));
startActivity(intent);

注意:我已关注this link

1 个答案:

答案 0 :(得分:0)

获取方向和路线的最佳方法是使用Web Service of Google Maps。 Google Maps Web服务是Google服务的HTTP接口集合,为您的地图应用程序提供地理数据。这些Web服务使用对特定URL的HTTP请求,将URL参数作为参数传递给服务。它将为您提供一切。我在我的申请中使用了这个。

以下是saddr = source address & daddr= destination address的示例。您也可以将字符串作为地址而不是lat / lng传递。

final Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?" + "saddr="+ latitude + "," + longitude + "&daddr=" + latitude + "," + longitude));
    intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity");
                        startActivity(intent);