我的 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”没有改变 map 中心的原因可能是什么?
最佳答案
使用 map 时会自动调用一些函数。其中之一是
func mapViewDidFinishLoadingMap(mapView: MKMapView)
尝试这样做。
func mapViewDidFinishLoadingMap(mapView: MKMapView) {
map.setRegion(mapRegion, animated: true)
}
如果这不起作用,请输入 func mapView 并在列表中查找并找到您认为可能的一个,但我觉得这就是它需要的位置。
关于ios - MapKit 没有以正确的位置为中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34698855/