我用这段代码显示两点之间的路线:
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);
此代码完美无缺,但我需要在该代码中添加选择公共传输的可能性。有可能吗?
答案 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将显示其无法使用的祝酒词,并显示驾驶方向(高速公路)。