首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLGeocoder geocodeAddressString()达到限制

CLGeocoder geocodeAddressString()达到限制
EN

Stack Overflow用户
提问于 2017-02-14 23:07:37
回答 1查看 1.1K关注 0票数 4

我正在使用MapKit的CLGeocoder().geocodeAddressString()来获取地址列表的坐标和县信息。只要请求数在50以下,一切都会正常工作。但是任何超过50的数据都会达到API的上限。因为CLGeocoder调用是异步的,所以我不能轻松地限制/控制调用流(例如,一次调用一个地址)。我该如何在“异步世界”中正确地做到这一点呢?(免责声明:我刚接触GCD和异步流控制,所以我想我可能需要一个更详细的回应)

相关代码如下:

对属性的地址调用CLGeocoder的类属性的方法:

代码语言:javascript
复制
   func initializeCoordinates() {

        let addressForCoords = self.address.getAddress()
        CLGeocoder().geocodeAddressString(addressForCoords, completionHandler: { (placemarks, error) -> Void in
            if error != nil {
                print(error!)
                return
            }
            if placemarks!.count > 0 {
                let placemark = placemarks?[0]
                let location = placemark?.location
                self.coordinates = location?.coordinate

                if let subAdminArea = placemark?.subAdministrativeArea {
                    self.address.county = subAdminArea
                }
            }
        })
    }

然后在从textBox导入所有属性地址的ImportVC部分(并在每个属性上调用initializeCoordinates方法:

代码语言:javascript
复制
    for line in importText {
        let newAddress = Address()
        let newHouse = Property()

        // parse the tab delimited address for each line of input
        let address = line.components(separatedBy: "\t")
        if address.count == 4 {
            newAddress.street = address[0]
            newAddress.city = address[1]
            newAddress.state = trimState(state: address[2])
            newAddress.zip = address[3]
            newHouse.address = newAddress
            newHouse.initializeCoordinates()
            houses.append(newHouse)
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2017-02-14 23:15:17

最近我遇到了一个类似的问题。将for循环替换为在结束时调用自身的递归函数。然而,诀窍是用0.2秒的延迟调用它自己。为了安全起见,我使用0.4。这将增加用户的等待时间,尽管由于API限制,我们没有选择。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42229562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档