可以显示选择运输类型的两个POINTS之间的路线吗?

时间:2013-02-11 08:53:48

标签: android android-mapview

我用这段代码显示两点之间的路线:

    Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
    Uri.parse("http://maps.google.com/maps?saddr="+lastLocation.getLatitude()+","+lastLocation.getLongitude()+"&daddr="+(double)point.getLatitudeE6()/1000000+","+(double)point.getLongitudeE6()/1000000));
    intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");           
    startActivity(intent);

此代码完美无缺,但我需要在该代码中添加选择公共传输的可能性。有可能吗?

1 个答案:

答案 0 :(得分:1)

在您的Uri中,您可以添加一个参数来选择传输类型:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
    Uri.parse("http://maps.google.com/maps?saddr="+lastLocation.getLatitude()+","+lastLocation.getLongitude()+"&daddr="+(double)point.getLatitudeE6()/1000000+","+(double)point.getLongitudeE6()/1000000 + "&dirflg=r"));
    intent.setComponent(new ComponentName("com.google.android.apps.maps", 
            "com.google.android.maps.MapsActivity"));          
    startActivity(intent);

dirflg = h开车, dirflg = r用于公共交通, dirflg = w步行路线。

只有在该区域可用时才会显示公交模式(公共交通),否则MapActivity将显示其无法使用的祝酒词,并显示驾驶方向(高速公路)。