Swift 如何获取特定坐标的红色注释

Swift 如何获取特定坐标的红色注释,swift,annotations,swift2,mapkit,mapkitannotation,Swift,Annotations,Swift2,Mapkit,Mapkitannotation,我想用绿色表示所有来自查询的要解析的用户坐标,但我想用红色表示用户坐标(当前) 以下是我到目前为止所拥有的 import UIKit import MapKit class MultipleAnnotationViewController: UIViewController, MKMapViewDelegate { var arrayOfPFObject: [PFObject] = [PFObject]() var lat_ :Double = 0 var long_

我想用绿色表示所有来自查询的要解析的用户坐标,但我想用红色表示用户坐标(当前)

以下是我到目前为止所拥有的

import UIKit
import MapKit

class MultipleAnnotationViewController: UIViewController, MKMapViewDelegate
{
    var arrayOfPFObject: [PFObject] = [PFObject]()
    var lat_ :Double = 0
    var long_ :Double = 0
    @IBOutlet weak var dispAnnotation: MKMapView!
    let currentUser = PFUser.currentUser()
    override func viewDidLoad()
    {
        super.viewDidLoad()
        dispAnnotation.delegate = self
        for coordinateItem in arrayOfPFObject
        {
            let pointAnnotation = MKPointAnnotation()
            self.lat_ = coordinateItem["Latitude"] as! Double
            self.long_ = coordinateItem["Longitude"] as! Double
            pointAnnotation.coordinate = CLLocationCoordinate2D(latitude:  self.lat_, longitude: self.long_)
            dispAnnotation.addAnnotation(pointAnnotation)
        }
    }
    func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView?
    {
        guard !(annotation is MKUserLocation)
            else
        { return nil }
        let identifier = "com.domain.app.something"
        var annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier(identifier) as? MKPinAnnotationView
        if annotationView == nil {
            annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
            annotationView?.pinTintColor = UIColor.greenColor()
            annotationView?.canShowCallout = true
        } else {
            annotationView?.annotation = annotation
        }
        return annotationView
    }
}
当前,如果
ArrayOfFobject
运行四次,我会得到四个绿色的注释引脚,但我希望其中一个(当前用户)是红色的。我将电子邮件id存储为所有用户的唯一id,以便我可以使用它来区分当前用户和其他用户

  • 因此,我希望在mapView方法中编写类似的内容,但mapView不会识别coordinateItem数组,因为它不在其范围内:

    if(String(coordinateItem[“email”])==String(currentUser?.valueForKey(“email”)!)

    {

        annotationView?.pinTintColor = UIColor.redColor()
    
        }
        else
        {
        annotationView?.pinTintColor = UIColor.greenColor()
        }
    
  • 我认为这种方法将不起作用,然后在另一个注释上,我可以在我的查询结果中通过添加一个查询来禁止当前用户

  • query.whereKey(“objectId”,notEqualTo:(当前用户?.valueForKey(“objectId”)!)

    现在我的
    ArraOfFobObject
    循环将运行三次,我将得到三个绿色注释。但现在又回到主要问题,即如何绘制第四个,即当前用户为红色。我可以轻松捕获第四个位置坐标,但现在如何以红色绘制它们。如果需要,请告诉我更清楚地了解我想要实现的目标