2009-06-29 114 views
8

我意识到,你可以做这样的事情打开谷歌地图应用程序准备好方向:打开谷歌地图,公交路线

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

但有一个参数,我可以添加到自动切换到公交路线?苹果的开发者文档似乎没有再提:

https://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Articles/MapLinks.html#//apple_ref/doc/uid/TP40007894

回答

22

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

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

+0

我们怎样才能看到这个XML格式的页面?如XML格式给出的驱动方向。例如:http://maps.googleapis.com/maps/api/directions/xml?origin=111%20Davisville%20Avenue,Toronto,ON&destination=469%20King%20Street%20West,%20Toronto,%20ON&sensor=false&dirflg=r即使最后有dirflg = r,它仍然会显示行车路线。 – c0d3Junk13 2011-12-25 14:03:46

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公共交通工具