如何在swift 2(xcode)中使用mapkit放大位置

如何在swift 2(xcode)中使用mapkit放大位置,xcode,swift,location,mapkit,ios9,Xcode,Swift,Location,Mapkit,Ios9,当用户输入地址时,我试图放大地图上的一个点,例如,一个无限循环。我想把它放大到街道上的位置,但我看在上帝的份上,不能让它放大。我试过搞乱区域、跨度等,但运气不好。下面是我的代码的样子(我在视图中没有任何内容,没有加载func)。。。您将看到我注释掉了一些代码,因为我尝试了它,但什么也没发生。 下面是模拟器上的输出为什么在geocodeAddressString闭包中定义func 下面的代码怎么样 geocoder.geocodeAddressString(address, complet

当用户输入地址时,我试图放大地图上的一个点,例如,一个无限循环。我想把它放大到街道上的位置,但我看在上帝的份上,不能让它放大。我试过搞乱区域、跨度等,但运气不好。下面是我的代码的样子(我在视图中没有任何内容,没有加载func)。。。您将看到我注释掉了一些代码,因为我尝试了它,但什么也没发生。
下面是模拟器上的输出

为什么在
geocodeAddressString
闭包中定义
func

下面的代码怎么样

    geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in
        if (error != nil) {
            print("Error", error)
        }

        if let placemark = placemarks?.first {
            let span = MKCoordinateSpan(latitudeDelta: 0.0001, longitudeDelta: 0.0001)
            let coordinate = placemark.location!.coordinate
            let region = MKCoordinateRegion(center: coordinate, span: span)
            self.mapView.setRegion(region, animated: true)
        }
    })
结果:


为什么在
geocodeAddressString
闭包中定义
func

下面的代码怎么样

    geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in
        if (error != nil) {
            print("Error", error)
        }

        if let placemark = placemarks?.first {
            let span = MKCoordinateSpan(latitudeDelta: 0.0001, longitudeDelta: 0.0001)
            let coordinate = placemark.location!.coordinate
            let region = MKCoordinateRegion(center: coordinate, span: span)
            self.mapView.setRegion(region, animated: true)
        }
    })
结果:

对范围和区域使用
var
,而不是
let

你需要摆脱
Map.setRegion
前面的
self

还可以尝试使用更大的跨度坐标值,例如
0.4
0.5
或者您仍然可以使用
0.0001
,这其实并不重要

span=MKCoordinateSpanMake(0.4,0.4)

对范围和区域使用
var
,而不是
let

你需要摆脱
Map.setRegion
前面的
self

还可以尝试使用更大的跨度坐标值,例如
0.4
0.5
或者您仍然可以使用
0.0001
,这其实并不重要

span=MKCoordinateSpanMake(0.4,0.4)


感谢您的帮助,该方法可以工作,但出于某种原因(可能只是我的模拟器),但当它放大到该位置时,我看到的都是黄色的方块(好像实际地图还没有加载。)-有什么建议吗?我注意到有时模拟器只是需要很长时间才能加载,我对WatchKit也有同样的问题;我花了至少10分钟的时间来加载模拟器。这可能是一个IOS 9错误谢谢,只是等了一会儿!很好的帮助大家谢谢你的帮助,这个方法是有效的,但是出于某种原因(它可能只是我的模拟器),但是当它放大到这个位置时,我看到的都是黄色的方块(好像实际的地图还没有加载。)-有什么建议吗?我注意到有时候模拟器只是需要很长时间才能加载,我的手表套件也有同样的问题;我花了至少10分钟的时间来加载模拟器。这可能是一个IOS 9错误谢谢,只是等了一会儿!帮了大家大忙