【发布时间】:2021-12-11 23:50:38
【问题描述】:
我正在尝试使用MKLocalSearchCompleter 进行地址搜索。我已经为它提供了一个地区(澳大利亚),但提供的地区被完全忽略了,我仍然得到来自世界各地的结果。
...
private var searchCompleter = MKLocalSearchCompleter()
....
init {
searchCompleter.region = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: -25.2744, longitude: 133.7751), span: MKCoordinateSpan(latitudeDelta: 40, longitudeDelta: 40)) // Australia
searchCompleter.resultTypes = [.address]
searchCompleter.delegate = self
searchCompleter.queryFragment = "Wycombe Road"
}
extension MapSearchCompleter: MKLocalSearchCompleterDelegate {
func completerDidUpdateResults(_ completer: MKLocalSearchCompleter) {
print("+++ \(completer.results)")
}
}
如果我尝试在委托方法completerDidUpdateResults 中打印该区域,我会取回该区域。
+++ MKCoordinateRegion(center: __C.CLLocationCoordinate2D(latitude: -25.2744, longitude: 133.7751), span: __C.MKCoordinateSpan(latitudeDelta: 40.0, longitudeDelta: 40.0))
知道如何让它工作吗?不知道我在这里做错了什么。
我可以手动过滤掉地址,但我认为这不是正确的方法。
【问题讨论】:
标签: swift mapkit mklocalsearch