打开谷歌地图到巴士方向

时间:2009-06-29 07:28:05

标签: iphone google-maps

我意识到你可以通过这样的方式打开谷歌地图应用程序准备好方向:

NSString* urlString = @"http://maps.google.com/maps?saddr=London+UK&daddr=Birmingham+UK";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlString]];

但是我可以添加一个参数来自动切换到总线方向吗? Apple的开发人员文档似乎没有提及任何相关内容:

https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html

2 个答案:

答案 0 :(得分:23)

来自MapKiWiki

dirflg路线类型:

  • dirflg = h - 打开“避开高速公路” 路线寻找模式。
  • dirflg = t - 打开“避免收费” 路线寻找模式。
  • dirflg = r - 启用“公共交通” - 仅适用于某些地区。
  • dirflg = w - 切换到步行 方向 - 仍处于测试阶段。
  • dirflg = d - 切换到驾驶 方向。

所以你的网址:

NSString* urlString = @"http://maps.google.com/maps?saddr=London+UK&daddr=Birmingham+UK";

变为:

NSString* urlString = @"http://maps.google.com/maps?saddr=London+UK&daddr=Birmingham+UK&dirflg=r";

N.B。支持公共交通路线类型的数据并不总是可用。我尝试了你在样本中使用的区域(伦敦,伯明翰),发现它不受支持。

答案 1 :(得分:0)

String url = "http://maps.google.com/maps?f=d&daddr="+latitude+","+longitude+"&dirflg=r";
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(url)); 
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);   

dirflg=r用于公共交通。