Ios 如何使用mkDirectionRequest支持多种传输类型

Ios 如何使用mkDirectionRequest支持多种传输类型,ios,mapkit,Ios,Mapkit,首先,response.transportType这里是MKDirectionsTransportTypeWalking。它为什么选择这个 第二,我真正想要的是所有3种交通方式的旅行时间,公交、步行和汽车。获得这三个目标的最佳方式是什么?创建3个mkDirectionRequest对象并使用不同的传输类型运行此代码3次似乎是浪费。当然,苹果公司预料到我们需要一种方法来同时正确处理这三个问题?来回答您的第一个问题- 如果在“设置”中转到“地图设置”,首选交通类型可能已设置为“步行”,这就是您获取步

首先,
response.transportType
这里是
MKDirectionsTransportTypeWalking
。它为什么选择这个


第二,我真正想要的是所有3种交通方式的旅行时间,公交、步行和汽车。获得这三个目标的最佳方式是什么?创建3个mkDirectionRequest对象并使用不同的传输类型运行此代码3次似乎是浪费。当然,苹果公司预料到我们需要一种方法来同时正确处理这三个问题?

来回答您的第一个问题-

如果在“设置”中转到“地图设置”,首选交通类型可能已设置为“步行”,这就是您获取步行方向的原因。我相信如果步行时间超过某个临界值,它将被覆盖


第二步,尝试使用“|”传递多个选项,例如MKDirectionsTransportTypeWalking | MKDirectionsTransportTypeDriving。不确定它是否有效,但值得一试。还要注意的是,MKDirectionsTransportTypeTransit仅支持ETA,不返回方向

谢谢你的建议。我认为我的问题没有答案(除了创建3个不同的MKDirectionRequests和MKDirections)+不过,我还是想听听你的建议。
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) {
    ...
}];