swift 执行MKLocalSearch.start时出现MKErrorDomain错误

lhcgjxsq  于 2023-05-05  发布在  Swift
关注(0)|答案(1)|浏览(999)

任何想法,为什么我可能会得到下面的错误时,启动一个MKLocalSearch?我到处都找过了,似乎找不到任何关于这方面的信息。
打印的错误是(来自guard let):搜索企业失败:错误域=MKErrorDomain Code=2“(null)”UserInfo={MKErrorGEOError=-7}

let searchSpan = MKCoordinateSpan(latitudeDelta: 0.000018011, longitudeDelta: 0.000018011)
        let searchRegion = MKCoordinateRegion(center: location, span: searchSpan)

        let searchRequest = MKLocalSearch.Request()
        searchRequest.region = searchRegion
        searchRequest.resultTypes = .pointOfInterest
        searchRequest.naturalLanguageQuery = "bar"

        let search = MKLocalSearch(request: searchRequest)

        search.start { response, error in
            guard let mapItems = response?.mapItems else {
                print("Failed searching for businesses: ", error!)
                return
            }
ccrfmcuu

ccrfmcuu1#

我想说的是,我得到的错误是一个服务器错误,由于MKLocalSearch请求过载。原因是,当我从我的LocationManager调用.startUpdatingLocation()时,我会得到多个坐标,这将触发多个搜索请求(因为我已经这样设置了)。我在网上找不到如何避免在调用.stopUpdatingLocation()后返回多个坐标的方法,所以我决定在请求中添加一个debouncer,这样一次只能发送一个。这似乎解决了我的问题。

相关问题