是否可以在不提供 naturalLanguageQuery 的情况下使用 MKLocalSearchRequest 显示附近的地方?
我知道典型的路线是为此使用foursquare或google。我都用过。
是否可以在不提供 naturalLanguageQuery 的情况下使用 MKLocalSearchRequest 显示附近的地方?
我知道典型的路线是为此使用foursquare或google。我都用过。
一段时间以来,我一直在尝试实现这一目标,但最接近的是使用 for 循环运行多个查询并将结果添加到主数组。显然是令人难以置信的低效,你有更多的成功吗?
您可以按如下方式实现它以用于演示目的,但我不建议在生产应用程序中使用这种方法,因为它显然不可扩展。
var nearbyPlaces: [MKMapItem] = []
let params: [String] = ["bar", "shop", "restaurant", "cinema"]
let request = MKLocalSearchRequest()
let span = MKCoordinateSpan(latitudeDelta: CLLocationDegrees(exactly: 1000)!, longitudeDelta: CLLocationDegrees(exactly: 1000)!)
let region = MKCoordinateRegion(center: coord, span: span)
request.region = region
for param in params {
request.naturalLanguageQuery = param
let places = MKLocalSearch(request: request)
places.start { [unowned self] response, error in
guard let result = response else { return }
self.nearbyPlaces.append(contentsOf: result.mapItems)
}
}