- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要从坐标列表(P1,P2,... Pn)开始绘制一条路径。对于列表中的每一对 Pi,Pj,我调用方法 calculateDirectionsWithCompletionHandler
类(class) MKDirections
直到 Pn-1 元素。我第一次称它为一切看起来都很完美。
但是,如果我第二次或更多次打电话,我会收到此错误:
Error Domain=MKErrorDomain Code=3 "Directions Not Available" UserInfo={NSLocalizedFailureReason=Route information is not available at this moment., MKErrorGEOError=-4, MKDirectionsErrorCode=2, NSLocalizedDescription=Directions Not Available}
direction.calculating
并检查请求是否已经在进行中。我无法理解如何使用它。任何人都可以帮助我吗?谢谢你。
最佳答案
我在进行单元测试时也遇到了同样的情况。
我通常对此类 API 所做的是使用速率限制器。它限制了在给定时间范围内对 API 的调用次数。
有几种实现,我成功使用并喜欢这个https://github.com/nuclearace/SwiftRateLimiter
它使您可以选择调用次数和时间范围。 (你甚至可以为一个 API 使用两个实例,比如说:每秒最多 10 次调用,每分钟最多 100 次调用)
我不太喜欢direction.isCalculating 方法,因为它使得在一般情况下很难同步你的线程。
一个简单的方法是在调用下一个电话之前等待应答。
得到答案后,directions.isCalculating
显然是假的。
但我更喜欢限速器。
苹果正在限制“写得不好/行为不端的应用程序”,但我不知道苹果记录了它用来这样做的速率限制。
代码示例:
let GlobalDirectionsRateLimiter = RateLimiter(tokensPerInterval: 3, interval: 1.0)
GlobalDirectionsRateLimiter.removeTokens(1) {_,_ in
directions.calculate { (response: MKDirections.Response?, error: Swift.Error?) in
...
}
}
关于xcode - MKDirections 许多请求停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34400515/
我需要从坐标列表(P1,P2,... Pn)开始绘制一条路径。对于列表中的每一对 Pi,Pj,我调用方法 calculateDirectionsWithCompletionHandler类(class
在 swifts API 中,它表示 MKDirectionsRequest 源和目标属性在 iOS 6.0 - 8.4 中可用。它并没有说有已弃用的。这是否意味着继续使用这些是一个坏主意? MKDi
当我的应用程序每次收到位置更新时都在后台运行时,我想计算到达目的地的路线。 但是,[MKDirectionscalculateDirectionsWithCompletionHandler]是一个异步
我刚刚按照本教程在 iOS 7 的 map 上绘制了一条路线 http://www.techotopia.com/index.php/Using_MKDirections_to_get_iOS_7_M
我正在尝试在函数内部发出 MKDirections 请求,然后返回该值。 这是我目前的情况 func requestETA(userCLLocation: CLLocation, coordinate
我的应用程序需要从一组 10 个步行点中获取离用户“最近”的步行点。我已经看到 MKDirections 使用“calculateDirectionsWithCompletionHandler”为单个
我在 for 循环中使用 MKDirections 对象的计算方法时遇到一个非常奇怪的问题。我的代码计算从用户当前位置到 3 个不同露营地位置的距离,但并非所有距离都是在代码中的同一点计算的。下面是我
我正在使用 display route on iOS 7 maps: addOverlay has no effect 这是为了在我的应用程序中嵌入 map 。 我收到以下错误: mkdirectio
我对错误处理不是很熟悉,因此非常感谢任何建议。 我的代码多次调用 Apple API 来计算路线,因为它需要为多个选项计算距离。 do { directions.calculate(compl
我正在创建一个类似 UBER 的应用,我正在使用 MapKit,我想显示两个位置之间的路线,为此我有使用下面的代码 viewMap.delegate = self let source
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init]; request.source = source; request.
我正在使用 this制作示例应用程序的教程。它使用一个表格 View ,其中填充了一个包含位置的 JSON 文件。 在详细 View 中,它使用 map 并为表格 ListView 中选定的位置放置一
我对 swift 还很陌生,正试图在 map 上显示多段线。 环顾四周后发现这段代码: let directions = MKDirections(request: request) dire
我有一个将 [CLLocation] 作为输入的函数。在 while 循环中,它将它分成 block ,每个 block 发出一个 MKDirection 请求,将响应存储在一个新的 [CLLocat
我有一个应用程序可以监控重要的位置变化。 收到新的计算后,我想计算从当前位置到指定位置的持续时间。 为了计算持续时间,我使用 MKDirections 类中的 calculateETAWithComp
我试图通过单击按钮为用户提供导航方向。但由于某种原因,它似乎不起作用。 @IBAction func directionToDestination(sender: AnyObject) {
我正在开发一个应用程序,我需要显示两个坐标之间的路线方向。我使用了 MKDirections 并传递了两个坐标作为源和目标,但是在 mapView 上它没有显示任何路线或绘制任何折线。下面是我的代码。
我正在IOS SDK 7.0中开发MapKit更新的演示应用程序。 我试图通过IOS SDK 7.0在两个地方找到路线b / w。就像您知道的那样,Apple允许在应用程序内获取指导,而无需使用IOS
这个问题已经有答案了: How do i return coordinates after forward geocoding? (3 个回答) Wait for completion block o
我正在尝试检索一个 MKRoute 数组,其中包含多条路线,所有路线都从同一地点开始,但每条路线都有不同的目的地。 问题是我能够想出的唯一方法是通过递归函数,但我找不到任何关于如何将递归函数与完成 b
我是一名优秀的程序员,十分优秀!