2017-07-17 16 views
0

注釈(ピン)をマップに配置しようとしていますが、ピンがシミュレータに表示されていません(ピンが配置されていません)。コードにエラーはありません。以下は私の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インスタンスを作成しますが、実行したいのはストーリーボードで作成したインスタンスを使用することです。ストーリーボードを使用していない場合は、サイズを設定する別のイニシャライザMKMapViewを使用する必要があります。

0

ストーリーボードからビューコントローラーへのコンセントを作成します。また、おそらくあなたのビューコントローラにMKMapViewDelegateを追加します。新しいインスタンスの新しいMKMapview結果を初期化

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

。それは何もそこにあることを意味します。そのため、アノテーションが配置されないことがあります。その初期化を削除して、IBOutletに接続してみてください。それ以外の場合はMKMapviewを完全にプログラムで初期化し、frameを定義します。

関連する問題