苹果地图和 MapKit 是不是使用相同的 API?

Posted

技术标签:

【中文标题】苹果地图和 MapKit 是不是使用相同的 API?【英文标题】:Does apple maps and MapKit use the same API?苹果地图和 MapKit 是否使用相同的 API? 【发布时间】:2015-07-28 12:31:52 【问题描述】:

当我在 Apple 地图中搜索并在我的应用中使用 MapKit 进行搜索时,我得到两个不同的“纽约”结果。

他们都使用相同的api吗?

如果我在苹果地图中搜索“纽约”,它会将指针放在纽约市的中心。但是,如果我使用 MKLocalSearchRequestnaturalLanguageQuery 使用 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 用代码更新我的问题 【参考方案1】:

他们不使用相同的 api 进行显示,所以我也假设他们不使用公共 API 进行搜索。

特别是考虑到应用比 API 更早的事实

但这很可能不是重点

您没有设置区域属性:“提供搜索位置提示的地图区域。” (至少看起来和苹果地图不一样)

对我来说,它也只返回一个结果 [使用 mapkit]

【讨论】:

以上是关于苹果地图和 MapKit 是不是使用相同的 API?的主要内容,如果未能解决你的问题,请参考以下文章

MapKit:地图上的位置是不是具有唯一 ID?

苹果 mapkit 在中国可以在 iPhone 设备上使用吗

mapKit 是不是有任何默认按钮允许用户将地图的方向从设备方向更改为北上?

苹果地图显示名称

苹果室内地图

MKMapKit 隐藏苹果地图