2015-05-24 26 views
0

我是Xcode的新手,我試圖在MapView中顯示不同的位置。我已經能夠設置一個MapView,設置座標,然後將其鏈接到button,當按下時顯示帶有引腳的mapMultiple Mapkit Views

import UIKit 
import MapKit 

class ViewController: UIViewController, MKMapViewDelegate { 

    @IBOutlet weak var MapView: MKMapView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     var latitude:CLLocationDegrees = 54.104456 
     var longitude: CLLocationDegrees = -6.228926 

     var latDelta:CLLocationDegrees = 0.001 
     var longDelta:CLLocationDegrees = 0.001 

     var theSpan:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, longDelta) 

     var clubLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude) 

     var theRegion:MKCoordinateRegion = MKCoordinateRegionMake(clubLocation, theSpan) 

     self.MapView.setRegion(theRegion, animated: true) 

     var clubAnnotation = MKPointAnnotation() 

     clubAnnotation.coordinate = clubLocation 

     clubAnnotation.title = "Football" 

     self.MapView.addAnnotation(clubAnnotation) 
    } 
}  

這是我到目前爲止的代碼,它的工作原理。我想要有多個buttons,當按下時將顯示map,併爲該location設置座標。我想在map上爲每個button只顯示一個location

這可能很容易,但我對代碼是陌生的,任何幫助都會很棒。

+0

您的意思是您想要幾個帶有不同點位置的按鈕,並且您希望在地圖上顯示該針的新聞事件? – Azat

+0

是的。例如,在視圖控制器中有一個按鈕,其中顯示「明亮的足球俱樂部」,當按下時顯示地圖視圖,並且該位置上有一個別針。我希望能夠在視圖控制器中顯示「Kildare足球俱樂部」中的另一個按鈕,並且當它按下時,它將使用單個針腳顯示地圖上的位置。 – Chris

回答

0

您可以從代碼或情節串連圖板添加按鈕,下面是一個例子,如何將它們從代碼中添加:

override func viewDidLoad() { 
    super.viewDidLoad() 
    let button = UIButton.buttonWithType(.System) as! UIButton 
    button.setTitle("football", forState: .Normal) 
    button.frame = CGRectMake(8, 8, 150, 30) 
    button.addTarget(self, action: Selector("showFootball:"), forControlEvents: .TouchUpInside) 
    self.view.addSubview(button) 
} 

這裏是例子回調:

func showFootball(sender: UIButton) { 
    var clubAnnotation = MKPointAnnotation() 
    clubAnnotation.coordinate = CLLocationCoordinate2DMake(latitude, longitude) 
    clubAnnotation.title = "Football" 
    let mw = MKMapView() 
    mw.removeAnnotations(mw.annotations) 
    mw.addAnnotation(clubAnnotation) 
} 

您可以添加幾個按鈕使用該方法進行不同的回調,或者您可以創建一個位置數組併爲按鈕分配標籤。然後,您只能創建一個回調並根據發件人按鈕的標籤獲取位置

+0

不太確定如何將其放入我的代碼。當我創建地圖視圖時,我創建了一個視圖控制器,然後將MapKit視圖放入視圖控制器中。我使用上面的代碼鏈接它。然後我創建了一個按鈕並按下ctrl並將其拖動到地圖上。這意味着當我在模擬器中按下按鈕時,它將我帶到地圖上。我不知道如何使用你給我的代碼來實現我想要的。請幫忙,謝謝 – Chris

+0

事實證明,你實際上有一些視圖控制器,你已經處理按鈕點擊,是這樣嗎?你希望在那裏添加幾個按鈕來打開不同的地圖?或者你希望在地圖上的視圖控制器上的按鈕? – Azat

+0

視圖控制器上的按鈕,每個按鈕鏈接到一個唯一的地圖,並顯示其位置 – Chris