2016-10-29 61 views
0

我有以下代碼,但它沒有顯示位置。Swift Map工具包註釋

import Foundation 
import UIKit  
import MapKit  
import CoreLocation 

class ViewTwo : UIViewController { 

@IBOutlet var Map: MKMapView! 

override func didReceiveMemoryWarning() { 
    super.viewDidLoad() 
    var location = CLLocationCoordinate2DMake(51.385493, 6.741528) 
    var span = MKCoordinateSpanMake(0.2, 0.2) 
    var region = MKCoordinateRegion(center: location , span: span) 
    Map.setRegion(region, animated: true) 

    var annotation = MKPointAnnotation() 
    annotation.coordinate = location 
    annotation.title = "hi" 
    annotation.coordinate = location 
    Map.addAnnotation(annotation) 
} 

感謝您的幫助提前。

+3

您正在使用didReceiveMemoryWarning()中的代碼。呦應該在viewDidLoad()函數中編寫代碼。 – emresancaktar

回答

0

如上所述,您正在使用didReceiveMemoryWarning(),希望將其放在viewDidLoad()中,以便在視圖加載時調用代碼。

+1

您可以在答案中解釋如何在正確的方法內工作 – MZaragoza

1

這裏試試這個

self.Map.setCamera(camera, animated: true) 
2

可能有幾件事情:

  1. 移出你的代碼從那裏到視圖事件如viewDidLoadviewDidAppearviewWillAppear。我會告訴你一個例子與第一個:

    override func viewDidLoad() { 
        super.viewDidLoad() 
        var location = CLLocationCoordinate2DMake(51.385493, 6.741528) 
        var span = MKCoordinateSpanMake(0.2, 0.2) 
        var region = MKCoordinateRegion(center: location , span: span) 
        Map.setRegion(region, animated: true) 
        var annotation = MKPointAnnotation() 
        annotation.coordinate = location 
        annotation.title = "hi" 
        annotation.coordinate = location 
        Map.addAnnotation(annotation) 
    } 
    
  2. 小心,如果你要訪問用戶位置,在這種情況下,你必須通過的LocationManager請求,並添加適當的串入。 plist文件

  3. 最後,是一個很好的SO公民並授予點,誰給了正確的答案或者至少是評論,如果他們都不是正確的(即使這一個)。