参数标签" mkcoordinate"不匹配任何可用的重载swift 4

时间:2017-11-16 12:03:13

标签: swift mapkit

我使用的代码来自xcode 8 swift 3.我想知道如何将其转换为xcode 9 swift 4。

func openInMaps(sender: UIButton) {
    for i in 0...2
    {
    let coordinate = coordinates[i]
    let latitude = coordinate[0]
    let longitude = coordinate[1]
    let coordinates1 = CLLocationCoordinate2DMake(latitude, longitude)

    let regionDistance:CLLocationDistance = 1000;
    let regionSpan = MKCoordinateRegionMakeWithDistance(coordinates1, regionDistance, regionDistance)

第一行是发生错误的地方

    let options = [MKLaunchOptionsMapCenterKey: NSValue(mkcoordinate: regionSpan.center), MKLaunchOptionsMapSpanKey: NSValue(mkcoordinatespan: regionSpan.span)]

    let placemark = MKPlacemark(coordinate: coordinates1)
    let mapItem = MKMapItem(placemark: placemark)
    mapItem.name = "destination"
    mapItem.openInMaps(launchOptions: options)
    }
}

1 个答案:

答案 0 :(得分:0)

修复的最简单方法是不匹配任何可用的重载错误是使用代码完成。

  • (重新)输入 NSValue(

你会看到(提示:区分大小写很重要):

enter image description here

或者open the documentation并查找初始化程序的正确拼写。