我在 Swift 5 中使用 MapKit 时遇到问题。我正在使用一个自然搜索查询。如果我输入特定的街道,它只会给我一个或几个选项,而一些使用的街道名称在附近的几个城镇中使用。
func updateSearchResults(for searchController: UISearchController) {
guard let mapView = mapView,
let searchBarText = searchController.searchBar.text else { return }
let request = MKLocalSearch.Request()
request.naturalLanguageQuery = searchBarText
request.region = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 51.6039482, longitude: 7.2675932),
span: MKCoordinateSpan(latitudeDelta: 15000, longitudeDelta: 15000))
request.region = mapView.region
let search = MKLocalSearch(request: request)
search.start { response, error in
guard let response = response else {
print("Error: \(error?.localizedDescription ?? "Unknown error").")
return
}
self.matchingItems = []
for item in response.mapItems {
self.matchingItems.append(item)
}
self.tableView.reloadData()
}
}
该请求还通过输入在城镇之间切换。每隔一个字母就是 A 镇,否则就是 B 镇。我哪里错了,我在这个查询中没有设置什么?