Я использую MapKit на Xcode, чтобы создать приложение для определения местоположения ближайшей больницы, психиатрического центра или центра обработки вызовов.Я хочу, чтобы пользователь мог фильтровать результаты карты.Например, если я ищу больницы, я хочу, чтобы только местоположения больниц отображались на карте.До сих пор для этого я создал скользящее меню для гамбургеров с кнопками, похожими на флажки, для использования в качестве фильтров.Например, вы нажимаете кнопку меню гамбургера и ставите флажок с больницами, чтобы на карте отображались только результаты больниц.Тем не менее, я, должно быть, как-то испортил это, потому что когда я попадаю в MapViewController, появляется только черный экран.Посоветуйте, пожалуйста, как я могу это исправить или, возможно, использовать другой метод полностью для достижения той же цели.
import UIKit
import MapKit
class MapViewController: NSObject, CLLocationManagerDelegate {
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var trailingMap: NSLayoutConstraint!
@IBOutlet weak var leadingMap: NSLayoutConstraint!
func viewDidLoad() {
mapView.delegate = self as? MKMapViewDelegate
let locationManager = CLLocationManager()
let regionRadius:CLLocationDistance = 1000
locationManager.requestWhenInUseAuthorization()
mapView.showsUserLocation = true
locationManager.startUpdatingLocation()
}
var hamburgerMenuIsVisible = false
@IBAction func hamburgerMenu(_ sender: Any) {
if hamburgerMenuIsVisible {
leadingMap.constant = 150
trailingMap.constant = -150
hamburgerMenuIsVisible = true
} else {
leadingMap.constant = 0
trailingMap.constant = 0
hamburgerMenuIsVisible = false
}
}
var mapItems: [MKMapItem] = []
var place = MKLocalSearch.Request() //user's facility search options
var naturalLanguageQuery: String? {
place.naturalLanguageQuery = "hospital"
let place2 = MKLocalSearch.Request()
place2.naturalLanguageQuery = "Mental Health Facility"
let place3 = MKLocalSearch.Request()
place3.naturalLanguageQuery = "Women's Center"
let place4 = MKLocalSearch.Request()
place4.naturalLanguageQuery = "Call Center"
place.region = self.mapView.region
place2.region = self.mapView.region
place3.region = self.mapView.region
place4.region = self.mapView.region
return place.naturalLanguageQuery
}
@IBAction func hospitalButton(_ sender: Any) {
print(mapItems)
}
@IBAction func callCenterButton(_ sender: Any) {
print(mapItems)
}
}