MapView で 2 つの注釈を表示しようとしています。
2 番目の注釈が MapView に表示されないのはなぜですか? placemark[0] を placemarks[1] に変更しようとしましたが、助けがありませんでした。
for句を使用することもできましたが、テストのためにコードを繰り返しました。
class Asiakas {
var nimi = ""
var osoite = ""
init(nimi: String, osoite: String) {
self.nimi = nimi
self.osoite = osoite
}
}
class ViewController: UIViewController {
@IBOutlet weak var mapView: MKMapView!
var asiakkaat:[Asiakas] = [
Asiakas(nimi: "Testi Asiakas", osoite: "Museokatu 10, helsinki"),
Asiakas(nimi: "Hyvä asiakas", osoite: "Pihlajatie 17, helsinki")
]
var asiakas:Asiakas!
override func viewDidLoad() {
super.viewDidLoad()
let geoCoder = CLGeocoder()
geoCoder.geocodeAddressString(asiakkaat[0].osoite, completionHandler: { placemarks, error in
if error != nil {
print(error)
return
}
if let placemarks = placemarks {
let placemark = placemarks[0]
let annotation = MKPointAnnotation()
if let location = placemark.location {
annotation.coordinate = location.coordinate
self.mapView.addAnnotation(annotation)
}
}
})
geoCoder.geocodeAddressString(asiakkaat[1].osoite, completionHandler: { placemarks, error in
if error != nil {
print(error)
return
}
if let placemarks = placemarks {
let placemark = placemarks[0]
let annotation = MKPointAnnotation()
if let location = placemark.location {
annotation.coordinate = location.coordinate
self.mapView.addAnnotation(annotation)
}
}
})
}