我正在尝试构建一个简单的位置搜索,它返回用户附近的地点列表。例如,使用当前位置或给定的纬度和经度,我想列出一定半径内的所有地名、企业、城镇等。这可以使用 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!)
}
}