1

我在 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 镇。我哪里错了,我在这个查询中没有设置什么?

4

0 回答 0