我如何显示注释数组?

时间:2016-02-01 02:02:38

标签: ios swift parse-platform mapkit

我正在从解析中检索经度和纬度的数组,我想根据数据库中有多少个坐标点来创建x个注释。我目前可以检索一个,但我怎么能用很多呢? “坐标”是解析中的对象。我是否必须创建一个MKPointAnnotation数组?如何根据从解析中检索到的数字创建注释?

query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error: NSError?) -> Void in
        if error == nil{
            for objecters in objects!{
                if let latit = objecters["Coordinates"]["Latitude"]{
                    print(lat)
                    self.latitudepoint = latit as! String
                    self.map.reloadInputViews()
                }
                if let longi = objecters["Coordinates"]["Longitude"]{
                    print(long)
                    self.longitudepoint = longi as! String
                     self.map.reloadInputViews()
                }
            }
        }
        let lonlat = CLLocationCoordinate2D(
            latitude: Double(self.latitudepoint)!,
            longitude: Double(self.longitudepoint)!
        )
      let annotation = MKPointAnnotation()
        annotation.coordinate = lonlat

2 个答案:

答案 0 :(得分:0)

假设objects数组将包含所有坐标,您可以为此for objecters in objects!的每个步骤将对应的MKPointAnnotation放置在地图中。

答案 1 :(得分:0)

您可以迭代数组并为每个点创建注释并将其添加到地图

for objecters in objects!{
    if let latit = objecters["Coordinates"]["Latitude"]{
         self.latitudepoint = latit as! String
         self.map.reloadInputViews()
    }
    else {
        continue
    }
    if let longi = objecters["Coordinates"]["Longitude"]{
         self.longitudepoint = longi as! String
         self.map.reloadInputViews()
    }
    else {
        continue
    }
    var annotation = MKPointAnnotation()
    var coord = CLLocationCoordinate2D(latitude: Double(self.latitudepoint)!,longitude: Double(self.longitudepoint)!)
    mapView.addAnnotation(annotation)
}

这会在地图中添加注释,然后您可以使用setRegion属性或在适当的位置居中地图。