当我在苹果地图和使用MapKit的应用程序中搜索“纽约”时,得到的结果不同。
它们都使用相同的API吗?
如果我在苹果地图中搜索“纽约”,它会将指针放置在纽约市中心。但是,如果我使用MKLocalSearchRequest和naturalLanguageQuery在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)
}
}
}