我尝试构建一个简单的位置搜索,返回用户附近的地点列表。因此,例如,使用当前位置或给定的纬度和经度我想列出特定半径内的所有地名,企业,城镇等。这可能使用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!)
}
}
答案 0 :(得分:0)
除非API发生变化,否则我认为答案是肯定的。我最终使用了facebook places API。