Ich habe versucht, aktuelle Stadt Name und Ländername mit swift zu bekommen. Hier ist mein Quellcode. // Dann in CLLocationManagerDelegate Methode können Sie Benutzer den aktuellen Standort erhalten Koordinaten:Kann den richtigen Stadtnamen nicht in SWIFT mit CLGeocoder erhalten
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let locValue:CLLocationCoordinate2D = manager.location!.coordinate
print("locations = \(locValue.latitude) \(locValue.longitude)")
self.locationManager.stopUpdatingLocation()
getAddressFromGeocodeCoordinate(manager.location!)
}
func getAddressFromGeocodeCoordinate(locationObj: CLLocation) {
let geocoder = CLGeocoder()
geocoder.reverseGeocodeLocation(locationObj, completionHandler: { (placemarks, error) -> Void in
// Place details
var placeMark: CLPlacemark!
placeMark = placemarks?[0]
// Address dictionary
print(placeMark.addressDictionary)
// City
if let city = placeMark.addressDictionary!["City"] as? NSString {
print("city:",city)
}
// Country
if let country = placeMark.addressDictionary!["Country"] as? NSString {
print("country", country)
}
})
}
Aber als ich Stadt ausdrucken möchten es nil. Ich trid auch placeMark.subAdministrativeArea
, aber es gibt auch Null zurück.
Ich bin derzeit in Dandong Stadt.
Mein Code druckt Land gut. wie country China
aber Stadt.
Wer kennt die Lösung?
bekommen Könnten Sie uns einige Koordinaten geben, wo es nicht funktioniert tun, wie Sie erwarten? –
@JulienQuere Np, Breite = 40,025411910838, Länge = 124,343855400189 –