mapViewに複数のピンを選択された状態で表示させようとしています。MKPointAnnotaion
を配列としてfor-in 文の中で作成したインスタンスを入れてます。 画面がロードされた際に一度だけ複数のタイトルが表示されるのですが、画面をタップするとすべてのタイトルが消えてしまいます。解決法をご教示ください。
swift
1var pin = [MKPointAnnotation]() 2 3 override func viewDidLoad() { 4 super.viewDidLoad() 5 mapView.delegate = self 6 convertAdress() 7 mapView.addAnnotations(pin) 8 mapView.showAnnotations(pin, animated: true) 9 mapView.selectedAnnotations = pin 10 } 11 12 func convertAdress(){ 13 for i in 0..<someAdressArray.count { 14 let adress = someAdressArray[i] 15 let name = someTitleArray[i] 16 let geocoder = CLGeocoder() 17 geocoder.geocodeAddressString(adress) { placeMarks, error in 18 if let error = error { 19 print("error: (error)") 20 } 21 if let firstPlacemark = placeMarks?.first { 22 if let location = firstPlacemark.location { 23 let tartgetCoordinate = location.coordinate 24 let dropPin = MKPointAnnotation() 25 dropPin.coordinate = tartgetCoordinate 26 dropPin.title = name 27 self.pin.append(dropPin) 28 self.mapView.addAnnotation(dropPin) 29 self.mapView.selectAnnotation(dropPin, animated: true) 30 } 31 } 32 } 33 34 } 35 36 } 37
あなたの回答
tips
プレビュー