You can achieve this for demonstration purposes as follows, but I would not recommend using this approach in a production application, since it is clearly not scalable.
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) } }
source share