【发布时间】:2021-09-26 23:55:08
【问题描述】:
我正在尝试从后台线程调用 GMSGeocoder 类的 reverseGeocodeCoordinate 函数。但它不起作用。完成处理程序没有被调用。如果我从主线程调用该函数,它工作正常。 但是这种方法有时会使应用程序变慢,因为这个函数会被连续调用。 有没有办法从后台线程调用reverseGeocodeCoordinate函数?
下面是我当前的代码。
DispatchQueue.main.async {
let geoCoder = GMSGeocoder()
geoCoder.reverseGeocodeCoordinate((coordinate), completionHandler: {
reverseGeoCodeResponse, error in
// processing
}
}
此代码有效。但是,如果我将 DispatchQueue.main 更改为 DispatchQueue.global(),则不会调用 completionHandler。我想在后台调用这个 API。
【问题讨论】:
-
没有。从哪个线程调用函数“checkCitiesWithCompletionBlock”,在此链接中未指定。我想从后台线程调用这个函数。
-
请提供一些代码改进您的问题。
-
另外,无论如何,您不应该定期对位置进行反向地理编码。出于性能和隐私原因。
标签: ios swift reverse-geocoding