【发布时间】:2016-01-09 20:58:14
【问题描述】:
我在 Swift 中的 MapKit 有问题。我希望它以特定坐标为中心,但默认中心根本不会改变。我的 viewController.swift 文件的第一个(也是最重要的部分)如下所示:
import UIKit
import Parse
import MapKit
import CoreLocation
class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
var map : MKMapView! = MKMapView()
var locManager:CLLocationManager!
@IBOutlet var txtUsername: UITextField!
@IBOutlet var txtPassword: UITextField!
override func viewDidLoad() {
var centerCoordinate = CLLocationCoordinate2DMake(41.8796677, -87.6198131)
var mapSpan = MKCoordinateSpanMake(0.01, 0.01)
var mapRegion = MKCoordinateRegionMake(centerCoordinate, mapSpan)
self.map.setRegion(mapRegion, animated: true)
locManager = CLLocationManager()
locManager.delegate = self
locManager.desiredAccuracy = kCLLocationAccuracyBest
locManager.requestAlwaysAuthorization()
map.showsUserLocation = true
super.viewDidLoad()
}
地图的中心没有被变量'centerCoordinate'改变的原因是什么?
【问题讨论】:
-
为什么你的代码在viewDidLoad之前?你也可以用地图视图的图像更新问题
-
你应该在 ViewDidAppear() 中调用你的代码,因为你会知道你有用户位置