更改MKMapView的Zoom-Swift 4

时间:2018-07-13 07:46:34

标签: ios swift mapkit

我使用Apple的MapKit和MKMapView在屏幕上显示位置。我正在使用的功能是:

func displayLocation() {
    locationMap.setRegion(MKCoordinateRegion(center: CLLocationCoordinate2DMake(userConnected.siteConnectedLat!, userConnected.siteConnectedLong!), span: MKCoordinateSpanMake(0.05, 0.05)), animated: true)

    let locationPin = CLLocationCoordinate2D(latitude: userConnected.siteConnectedLat!, longitude: userConnected.siteConnectedLong!)
    let annotation = MKPointAnnotation()
    annotation.coordinate = locationPin

    locationMap.addAnnotation(annotation)
    locationMap.showAnnotations([annotation], animated: true)
}
然后在视图控制器的viewDidLoad方法中调用

。苹果的文档说,跨度应该改变缩放比例,但是即使改变跨度也不会对地图造成最小的影响。我希望将其放大到足够的程度,以便我们可以清晰地看到3-4个欧洲国家/地区,即有大量的缩小。

这是我的地图在模拟器中的样子: This is what my map looks like in simulator

按放大后的样子: This is how it looks like after I press enlarge

1 个答案:

答案 0 :(得分:2)

您需要在viewDidAppear中而不是viewDidLoad中设置地图的区域。调用viewDidLoad时,地图视图刚刚加载-尚未渲染地图,因此您无法设置其区域。

要更改的另一件事是跨度。 (0.05,0.05)范围太小,无法显示3-4个国家/地区。您应该尝试更大的东西,例如(5,5)。请记住,这些数字以度表示地图区域的宽度和高度。