CLGeocoder().reverseGeocodeLocation(CLLocation(latitude: coord.latitude, longitude: coord.longitude)) { [weak self] placeMarks, error in
print("PLACEMARKSFIRST:")
print(placeMarks?.first)
self?.geoCodeCounter += 1
guard let place = placeMarks?.first else {
self?.selectionSubject.accept(nil)
self?.geoCodeAddress()
return
}
print("PLACEMARKSFIRST:")
print(placeMarks?.first)
self?.geoCodeCounter += 1
guard let place = placeMarks?.first else {
self?.selectionSubject.accept(nil)
self?.geoCodeAddress()
return
}
print("PLACE:")
print(place)
print(place.administrativeArea)
print(place.subAdministrativeArea)
print(place.locality)
print(place.subLocality)
print(place.thoroughfare)
print(place.subThoroughfare)
self?.geoAdministrativeArea = place.administrativeArea ?? ""
self?.geoSubAdministrativeArea = place.subAdministrativeArea ?? ""
self?.geoLocality = place.locality ?? ""
self?.geoSubLocality = place.subLocality ?? ""
self?.geoThoroughfare = place.thoroughfare ?? ""
self?.geoSubThoroughfare = place.subThoroughfare ?? ""
DEBUG CODES:
PLACE: Darüşşafaka Cd. 5/2, Darüşşafaka Cd. 5/2, 34457 Sarıyer İstanbul, Türkiye @ <+41.12570667,+29.02811721> +/- 100.00m, region CLCircularRegion (identifier:'<+41.12570100,+29.02817000> radius 70.68', center:<+41.12570100,+29.02817000>, radius:70.68m)
Optional("İstanbul")
Optional("Sarıyer")
Optional("Sarıyer")
Optional("Çamlıtepe")
Optional("Darüşşafaka Cd.")
Optional("5/2")
As you see above there is a conflict between the locality inside place and the response that place.locality returns. Locality must be "Darüşşafaka". How can I fix this?