6

是否可以在不提供 naturalLanguageQuery 的情况下使用 MKLocalSearchRequest 显示附近的地方?

我知道典型的路线是为此使用foursquare或google。我都用过。

4

2 回答 2

0

一段时间以来,我一直在尝试实现这一目标,但最接近的是使用 for 循环运行多个查询并将结果添加到主数组。显然是令人难以置信的低效,你有更多的成功吗?

于 2014-11-08T05:56:50.623 回答
0

您可以按如下方式实现它以用于演示目的,但我建议在生产应用程序中使用这种方法,因为它显然不可扩展。

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)
        }

}
于 2018-12-20T09:31:17.530 回答