2

我正在使用此代码显示两点之间的路线:

    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);

该代码完美运行,但我需要在该代码中添加选择例如公共交通的可能性。有可能的?

4

1 回答 1

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 将显示其不可用的祝酒词并显示驾驶方向(高速公路)。

于 2013-02-11T09:01:57.823 回答