Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用swift ios在mapView中检索lat和long位置_Ios_Swift_Mkmapview - Fatal编程技术网

无法使用swift ios在mapView中检索lat和long位置

无法使用swift ios在mapView中检索lat和long位置,ios,swift,mkmapview,Ios,Swift,Mkmapview,我无法在此处检索我先前使用关键字“klat”和“klong”中的NSUserDefaults存储在应用程序中的地图位置。它显示以下错误: 无法将类型为“\u NSCFString”(0x1604da4)的值强制转换为“NSNumber”(0x971800) 使用以下代码存储纬度和经度 let latitude = NSUserDefaults .standardUserDefaults().valueForKey(klat) as! Double let longitude = NSUser

我无法在此处检索我先前使用关键字“klat”和“klong”中的NSUserDefaults存储在应用程序中的地图位置。它显示以下错误:

无法将类型为“\u NSCFString”(0x1604da4)的值强制转换为“NSNumber”(0x971800)


使用以下代码存储纬度和经度

let latitude = NSUserDefaults .standardUserDefaults().valueForKey(klat) as! Double

 let longitude = NSUserDefaults .standardUserDefaults().valueForKey(klong) as! Double


let location:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude)

//Second Location lat and long
let latitudeSec:CLLocationDegrees = 11.0100
let longitudeSec:CLLocationDegrees = 77.3620

let locationSec:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitudeSec, longitudeSec)

let span:MKCoordinateSpan = MKCoordinateSpanMake(1, 1)

let region:MKCoordinateRegion = MKCoordinateRegionMake(location, span)

mapView.setRegion(region, animated: true)


let myAn1 = MyAnnotation(title: "Office", coordinate: location,subtitle: "MyOffice");
和检索

[[NSUserDefaults standardUserDefaults] setDouble:latitude forKey:klat]
[[NSUserDefaults standardUserDefaults] setDouble:longitude forKey:klong]

为什么要存储在这里?我已经在另一个类中完成了。看起来您正在存储字符串并尝试检索Double。您可以显示代码中设置ObjectBTW NSUserDefaults的部分,其中有一个名为setDouble(forKey:)的方法来存储它和doubleForKey()要检索itAnyway,这就是我说的,您保存了一个字符串。使用我说的方法保存double
currentLocation.coordinate.latitude
let latitude = NSUserDefaults.standardUserDefaults().doubleForKey(klat)
let latitude = NSUserDefaults.standardUserDefaults().doubleForKey(klong)