Ios 注释未放置在地图上
我试图在地图上放置注释(pin),但该pin没有显示在模拟器上(没有放置pin)。我没有收到代码中的错误。下面是我的视图Ios 注释未放置在地图上,ios,swift,mapkit,Ios,Swift,Mapkit,我试图在地图上放置注释(pin),但该pin没有显示在模拟器上(没有放置pin)。我没有收到代码中的错误。下面是我的视图 import UIKit import MapKit class MapViewController: UIViewController { var itemStore: ItemStore! var mapView: MKMapView! override func viewDidLoad() { super.viewDidLo
import UIKit
import MapKit
class MapViewController: UIViewController {
var itemStore: ItemStore!
var mapView: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
mapView = MKMapView()
let annotation = MKPointAnnotation()
annotation.coordinate = CLLocationCoordinate2D(latitude: 40.71304, longitude: -74.0072)
annotation.title = "Test"
mapView.addAnnotation(annotation)
}
删除
mapView=MKMapView()
。
这一行创建了一个新的
MKMapView
实例,而您要做的是使用您在故事板上创建的实例。如果您不使用故事板,则应使用另一个设置其大小的MKMapView
初始值设定项。创建一个从故事板到视图控制器的出口。另外,我可能会将MKMapViewDelegate添加到视图控制器中
import UIKit
import MapKit
class MapViewController: UIViewController, MKMapViewDelegate {
var itemStore: ItemStore!
@IBOutlet var mapView: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
let annotation = MKPointAnnotation()
annotation.coordinate = CLLocationCoordinate2D(latitude: 40.71304, longitude: -74.0072)
annotation.title = "Test"
self.mapView.addAnnotation(annotation)
}
初始化newMKMapview将生成新实例。这意味着那里什么也不会有。这就是注释可能无法放置的原因。尝试删除该初始化,并尝试连接到IBOutlet(如果有)。否则,通过为其定义
帧来初始化MKMapview完全编程。尝试删除:mapView=MKMapview(),并检查mapView是否连接到情节提要中的控制器