Я показываю карту в моем приложении для текущего местоположения.Итак, я пытаюсь получить обратное геокодирование из текущего местоположения, чтобы получить данные для текущего местоположения в MKMapView.
func getAddressFromLatLon(coords: CLLocation) {
let loc: CLLocation = CLLocation(latitude:coords.coordinate.latitude, longitude: coords.coordinate.longitude)
let ceo: CLGeocoder = CLGeocoder()
ceo.reverseGeocodeLocation(loc, completionHandler:
{(placemarks, error) in
if (error != nil)
{
print("reverse geodcode fail: \(error!.localizedDescription)")
}
var placeMark: CLPlacemark!
let pm = placemarks! as [CLPlacemark]
print(placemarks![0] as Any)
placeMark = placemarks?[0]
print(placeMark.addressDictionary! as Any)
if pm.count > 0 {
let pm = placemarks![0]
// print(pm.country)
// print(pm.locality)
// print(pm.subLocality)
// print(pm.thoroughfare)
// print(pm.postalCode)
// print(pm.subThoroughfare)
var addressString : String = ""
if pm.subLocality != nil {
addressString = addressString + pm.subLocality! + ", "
}
if pm.thoroughfare != nil {
addressString = addressString + pm.thoroughfare! + ", "
}
if pm.locality != nil {
addressString = addressString + pm.locality! + ", "
}
if pm.country != nil {
addressString = addressString + pm.country! + ", "
}
if pm.postalCode != nil {
addressString = addressString + pm.postalCode! + " "
}
print(addressString)
self.addressTextField.text = addressString
self.locationCommentsTextField.text = pm.thoroughfare
}
})
}
Но его печать выполняется только после
Optional([AnyHashable("Street"): Infinite Loop, AnyHashable("ZIP"): 95014, AnyHashable("Country"): United States, AnyHashable("City"): Cupertino, AnyHashable("State"): CA, AnyHashable("Name"): Apple Inc., AnyHashable("SubAdministrativeArea"): Santa Clara, AnyHashable("Thoroughfare"): Infinite Loop, AnyHashable("FormattedAddressLines"): <__NSArrayM 0x60400204b040>(
Apple Inc.,
Infinite Loop,
Cupertino, CA 95014,
United States
)
, AnyHashable("CountryCode"): US])
Но мне также нужны следующие поля, только несколько данных, которые я могу получить.
Город, комментарии, страна, countryShortName, подразделение, платформа, регион, resolvedAddress, штат, stateShortName, улица, streetNumber, subLocality, userAddress, zipCode
Любые предложения.