如何在地图视图中添加注释?只显示一个图钉

时间:2018-08-11 02:07:24

标签: ios swift annotations mkmapview

我有20个城市,并将其名称,纬度和经度存储在3个数组中。 这是我在ViewDidLoad()中的代码:

   var annotations:Array<MKPointAnnotation>=Array(repeating: MKPointAnnotation(), count: cityName.count)
    for i in 0 ..< annotations.count{
        annotations[i].title=cityName[i]
        annotations[i].coordinate.latitude=cityLatitude[i]
        annotations[i].coordinate.longitude=cityLongitude[i]
        mapView.addAnnotation(annotations[i])
    }

但是,它仅在地图上显示一个图钉,这是数组中的最后一个城市。

我尝试添加以下代码,这些代码是我在Stack Overflow中找到的。

   func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
    print("viewForAnnotation \(annotation.title)")
    if annotation is MKUserLocation {
        return nil
    }
    let reuseID = "pin"
    var pinView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseID) as? MKPinAnnotationView
    if(pinView == nil) {
        pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseID)
        pinView!.canShowCallout = true
        pinView!.animatesDrop = true
    }
    return pinView
}

,然后在文件中添加MKMapViewDelegate。 但是结果仍然是地图上的一针。

如何将所有图钉添加到地图?谢谢

0 个答案:

没有答案