更改MKAnnotation引脚颜色

时间:2016-07-10 23:57:54

标签: ios swift mapkit

我有一组Meetup对象,它们在地图上显示为红色引脚。我想根据每个Meetup对象的属性更改引脚的颜色。每个Meetup都有一个类别。如果数组中的第一个Meetup有A类,我希望引脚为红色,如果第二个Meetup有B类,我希望引脚为蓝色(依此类推)。我试图在viewForAnnotation中执行此操作。

以下是我的一些代码:

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {

  if annotation is Meetup {

    let identifier = "Location"
    var annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier(identifier) as! MKPinAnnotationView!
    if annotationView == nil {
      annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)

      annotationView.enabled = true
      annotationView.canShowCallout = true
      annotationView.animatesDrop = false
      annotationView.pinTintColor = UIColor(red: 255/255, green: 36/255, blue: 0, alpha: 1)
      annotationView.tintColor = UIColor(white: 0.0, alpha: 0.5)

我想在这里做点什么:

if annotation is Meetup where Meetup.category == "Category A" {
          annotationView.pinTintColor = UIColor(red: 255/255, green: 36/255, blue: 0, alpha: 1)
} else if annotation is Meetup where Meetup.category == "Category B" {
          annotationView.pinTintColor = UIColor(red: 0, green: 36/255, blue: 255/255, alpha: 1)

有人可以指出我如何完成这项工作的正确方向吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我想您正在尝试按类别更改引脚颜色,您需要使用“Switch”实际代码是这样的:

while (s.hasNext()) {
            String str = s.next();
            tockenList.add(str);        
            Dictionary.getInstance().addElementToListOfTerms(str, DocID);
        }

}

希望这就是你想要的!