微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅在Swift 5中使用MapKit显示城市

如何解决如何仅在Swift 5中使用MapKit显示城市

对于一个应用程序,我已经实现了Apple MapKit,但是当我搜索时,我还会获得诸如餐馆等的本地地点。如何过滤结果以便仅获得城市?

我正在使用下面的代码通过UITextField的搜索查询自动完成建议填充到tableView中。

public 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 = mapView.region
    
    let search = MKLocalSearch(request: request)
    search.start { response,_ in
        guard let response = response else {
            return
        }
        self.matchingItems = response.mapItems
        self.tableView.reloadData()
    }
}

解决方法

您可以使用MKPointOfInterestFilter

过滤出兴趣点
let request = MKLocalSearch.Request()
request.pointOfInterestFilter = MKPointOfInterestFilter.excludingAll
request.naturalLanguageQuery = searchBarText
request.region = mapView.region

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。