2017-07-17 106 views
0

我試圖在地圖上放置一個註釋(pin),並且模擬器上沒有顯示引腳(沒有放置引腳)。我在代碼中沒有收到任何錯誤。以下是我的viewDidLoad。註釋未放置在地圖上

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) 
    } 
+1

嘗試刪除: mapView = MKMapView() 並檢查mapView是否連接到Storyboard中的控制器 – Babac

回答

0

刪除mapView = MKMapView()。 此行創建一個新的MKMapView實例,而您要執行的操作是使用您在Storyboard上創建的實例。如果您不使用Storyboard,則應該使用MKMapView的另一個初始值設定程序來設置其大小。

0

從故事板創建出口到視圖控制器。另外我可能會添加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) 
} 
0

初始化新的MKMapView導致新實例。這意味着什麼都沒有。這就是爲什麼註釋可能不會被放置。嘗試刪除初始化並嘗試連接到IBOutlet如果有。否則,初始化MKMapview完全編程,爲它定義frame