【发布时间】:2026-01-15 20:40:02
【问题描述】:
当我在 Apple 地图中搜索并在我的应用中使用 MapKit 进行搜索时,我得到两个不同的“纽约”结果。
他们都使用相同的api吗?
如果我在苹果地图中搜索“纽约”,它会将指针放在纽约市的中心。但是,如果我使用 MKLocalSearchRequest 和 naturalLanguageQuery 使用 MapKit 搜索“纽约”,它会将指针稍微偏离,即使在曼哈顿也不行。
代码:
override func viewDidLoad() {
super.viewDidLoad()
self.mapView.delegate = self
localSearchRequest = MKLocalSearchRequest()
localSearchRequest.naturalLanguageQuery = "New York"
localSearch = MKLocalSearch(request: localSearchRequest)
localSearch.startWithCompletionHandler { (localSearchResponse, error) -> Void in
if localSearchResponse == nil || self.mapView == nil{
var alert = UIAlertView(title: "Not found", message: "Try again", delegate: self, cancelButtonTitle: "OK")
alert.show()
return
} else {
let location = CLLocationCoordinate2D(latitude: localSearchResponse.boundingRegion.center.latitude, longitude: localSearchResponse.boundingRegion.center.longitude)
let span = MKCoordinateSpanMake(0.05, 0.05)
let region = MKCoordinateRegion(center: location, span: span)
self.mapView.setRegion(region, animated: false)
self.pointAnnotation = MKPointAnnotation()
self.pointAnnotation.coordinate = location
self.mapView.addAnnotation(self.pointAnnotation)
}
}
}
【问题讨论】:
-
你显然问错了问题。您需要展示您使用的代码来生成对您来说不够准确的结果,然后可能会询问如何使其更准确。
-
@nhgrif 用代码更新我的问题