我正在尝试从CLLocation. 我可以通过反向地理编码获得确切的街道地址CLLocation,但无法获得企业名称,因为name属性CLPlacemark只是地址。
我努力了:
- 访问
name属性CLPlacemark:返回街道地址 - 在:上访问
areasOfInterest属性返回 nilCLPlacemark - 使用
MKLocalSearchCompleter设置为街道地址的查询返回街道地址 - 使用
MKLocalSearch设置为街道地址的查询不会返回任何内容
奇怪的是,Apple Maps 应用程序允许您搜索街道地址,并且大多数位置都会出现商家名称(并将地址用作后备,如此处所示),但我无法使用暴露的 API 复制此功能. MapKit 根本无法实现我想要的吗?
CLGeocoder().reverseGeocodeLocation(location, completionHandler: { (placemarks, error ) in
guard let placemarks = placemarks else {
fatalError("Error: failed to reverse geocode location. \(error?.localizedDescription ?? "")")
}
for placemark in placemarks {
print(placemark.name)
}
// Do something to get the *true* placemark name.
})