是否可以使用 MapKit 获取 Lat/Long 附近的地点列表?
Is it possible to get a list of places near a Lat/Long using MapKit?
我正在尝试构建一个简单的位置搜索,returns 用户附近的地点列表。因此,例如,使用当前位置或给定的纬度和经度,我想列出一定半径内的所有地名、企业、城镇等。这可能使用 MapKit 吗?我知道使用 Facebook 图 API 很容易做到。
我能找到的最好方法是 CLGeocoder().reverseGeocodeLocation
,但这只是 returns 最近的地址。我什至尝试使用
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!)
}
}
除非API变了,否则我相信答案是否定的。我最终使用了 facebook 地点 API.
我正在尝试构建一个简单的位置搜索,returns 用户附近的地点列表。因此,例如,使用当前位置或给定的纬度和经度,我想列出一定半径内的所有地名、企业、城镇等。这可能使用 MapKit 吗?我知道使用 Facebook 图 API 很容易做到。
我能找到的最好方法是 CLGeocoder().reverseGeocodeLocation
,但这只是 returns 最近的地址。我什至尝试使用
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!)
}
}
除非API变了,否则我相信答案是否定的。我最终使用了 facebook 地点 API.