我正在从解析中检索经度和纬度的数组,我想根据数据库中有多少个坐标点来创建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
答案 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
属性或在适当的位置居中地图。