是否可以使用MapKit获取Lat / Long附近的地点列表?

时间:2017-05-06 03:19:43

标签: mapkit location-services mkreversegeocoder

我尝试构建一个简单的位置搜索,返回用户附近的地点列表。因此,例如,使用当前位置或给定的纬度和经度我想列出特定半径内的所有地名,企业,城镇等。这可能使用MapKit吗?我知道使用Facebook图形API很容易做到。

我能找到的最好的是CLGeocoder().reverseGeocodeLocation,但只返回最近的地址。我甚至尝试过使用

CLLocation(
    coordinate:CLLocationCoordinate2D, 
    altitude:CLLocationDistance, 
    horizontalAccuracy:CLLocationAccuracy, 
    verticalAccuracy:CLLocationAccuracy, 
    timestamp:Date
)

并将精度设置为1,000米,但这并没有增加结果数量。因此,我的假设是,使用MapKit,您无法获得围绕给定点的位置结果列表。真的吗?

为了更好的衡量,这是我打电话的代码。

        let latitude = CLLocationDegrees(40.692001)
        let longitude = CLLocationDegrees(-73.983386)
        let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
        let altitude = CLLocationDistance(1000.0)
        let accuracy = CLLocationAccuracy(1000.0)
        let locationArea = CLLocation(coordinate: location, altitude: altitude, horizontalAccuracy: accuracy, verticalAccuracy: accuracy, timestamp: Date())
        let geocoder = CLGeocoder()
        geocoder.reverseGeocodeLocation(locationArea) { (placemarks, error) in
            if error == nil {
                print(placemarks!.count)
                for place in placemarks! {
                    print(place)
                }
            } else {
                print(error!)
            }
        }

1 个答案:

答案 0 :(得分:0)

除非API发生变化,否则我认为答案是肯定的。我最终使用了facebook places API。