マップ上にいくつかのピンを配置しました。たとえば、それぞれのブリッジの位置に対応しています。これらのピンのそれぞれは、そのタイトルとサブタイトルを表示するためにクリックされると、それ自身の注釈を有する。これらの注釈内に情報ボタンを追加しました。しかし、UiViewControllerに表示される情報を変更する新しいUiViewControllerを開く方法がわかりません。これは、どのブリッジ情報ボタンが押されたかによって異なります。吹き出しボタンを使用して新しいuiviewcontrollerを開く方法。
基本的に私は方法を知る必要があります。 1:アノテーションの情報ボタンが押されたときにUiViewControllerを開きます。 2:情報ボタンが押されたブリッジのうち、UiViewControllerの支出に関する情報を変更します。あなたが異なるビュー間のナビゲーションhere in this link.
について学ぶことができると私は、ナビゲーション上のいくつかのヒントを与えるだろうとナビゲーション用のデータを準備する
mapView.delegate = self
//bridges
var Bridge1 = CLLocationCoordinate2DMake(48.60,2.90)
var bridge2 = CLLocationCoordinate2DMake(48.61, 2.91)
var bridge3 = CLLocationCoordinate2DMake(48.62, 2.92)
var bridge4 = CLLocationCoordinate2DMake(48.63, 2.93)
var bridge5 = CLLocationCoordinate2DMake(48.64, 2.94)
var bridge6 = CLLocationCoordinate2DMake(48.65, 2.95)
var span = MKCoordinateSpanMake(0.4, 0.4)
var region = MKCoordinateRegion(center: Bridge1, span: span)
mapView.setRegion(region, animated: true)
var Bridge1pin = MKPointAnnotation()
Bridge1pin.coordinate = Bridge1
Bridge1pin.title = "Bridge1"
Bridge1pin.subtitle = "This is bridge 1"
mapView.addAnnotation(Bridge1pin)
var bridge2pin = MKPointAnnotation()
bridge2pin.coordinate = bridge2
bridge2pin.title = "Bridge2"
bridge2pin.subtitle = "This is bridge 2"
mapView.addAnnotation(bridge2pin)
var bridge3pin = MKPointAnnotation()
bridge3pin.coordinate = bridge3
bridge3pin.title = "Bridge3"
bridge3pin.subtitle = "This is bridge 3"
mapView.addAnnotation(bridge3pin)
var bridge4pin = MKPointAnnotation()
bridge4pin.coordinate = bridge4
bridge4pin.title = "Bridge4"
bridge4pin.subtitle = "This is bridge 4"
mapView.addAnnotation(bridge4pin)
var bridge5pin = MKPointAnnotation()
bridge5pin.coordinate = bridge5
bridge5pin.title = "bridge5"
bridge5pin.subtitle = "hello this is bridge 5"
mapView.addAnnotation(bridge5pin)
var bridge6pin = MKPointAnnotation()
bridge6pin.coordinate = bridge6
bridge6pin.title = "bridge6"
bridge6pin.subtitle = "hello this is bridge 6"
mapView.addAnnotation(bridge6pin)
}
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
let reuseIdentifier = "pin"
var pin = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseIdentifier) as? MKPinAnnotationView
if pin == nil {
pin = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseIdentifier)
pin!.pinColor = .Red
pin!.canShowCallout = true
pin!.rightCalloutAccessoryView = UIButton(type: .DetailDisclosure)
} else {
pin!.annotation = annotation
}
return pin
}
}