2016-10-10 57 views
2
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init]; 
request.source = source; 
request.destination = destination; 
request.transportType = MKDirectionsTransportTypeAny; 

MKDirections *directions = [[MKDirections alloc] initWithRequest:request]; 
[directions calculateETAWithCompletionHandler:^(MKETAResponse * _Nullable response, NSError * _Nullable error) { 
    ... 
}]; 

首先,response.transportType这里是MKDirectionsTransportTypeWalking。为什么选择那个?其次,我真正想要的是所有3种交通类型的交通时间,Transit,Walking和Automobile。得到这三个最好的方法是什么?创建3个MKDirectionsRequest对象并使用不同的传输类型运行此代码3次似乎很浪费。当然,苹果公司预计我们需要一种方法让所有3一次正确吗?如何支持多种传输类型与MKDirectionsRequest

回答

1

要回答你的第一个问题 -

如果你去的地图设置中设置首选传输类型可能会设置为走这就是为什么你正在行走的方向。如果步行时间超过某个阈值,我相信它会被覆盖。

对于第二次尝试传递多个选项'|'例如。 MKDirectionsTransportTypeWalking | MKDirectionsTransportTypeDriving。不知道它是否会工作,但值得尝试。还有一件事要注意MKDirectionsTransportTypeTransit只支持ETA,并且不返回路线。

+0

感谢您的建议。我不认为我的问题有一个答案(除了创建3个不同的MKDirectionRequests和MKDirections)。 +1的建议,但。 – soleil