我使用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个欧洲国家/地区,即有大量的缩小。
答案 0 :(得分:2)
您需要在viewDidAppear
中而不是viewDidLoad
中设置地图的区域。调用viewDidLoad
时,地图视图刚刚加载-尚未渲染地图,因此您无法设置其区域。
要更改的另一件事是跨度。 (0.05,0.05)范围太小,无法显示3-4个国家/地区。您应该尝试更大的东西,例如(5,5)。请记住,这些数字以度表示地图区域的宽度和高度。