我正在使用JSON的数据,并将来自JSON的所有geox存储在Geoy中,并将geoy存储在geoy中。 而通过for循环绘制标记会抛出错误“无法将NSArray类型的值转换为预期的参数类型CLLocationDegrees(又名Double)”
let data = JSON as! NSDictionary
let result = Data["result"] as! NSArray
let geox = result.valueForKey("geo_x") as! NSArray
let geoy = result.valueForKey("geo_y") as! NSArray
let count = geox.count
for index in 0...count {
let position = CLLocationCoordinate2DMake(geox,geoy)
let marker = GMSMarker(position: position)
marker.map = mapView
}
有人能指出我解决这个问题的方向吗?
答案 0 :(得分:0)
如果我理解,你会收到两个独立的数组:一个用于经度坐标,另一个用于纬度。
所以你可以这样做: 首先替换它:
let geox = result.valueForKey("geo_x") as! NSArray
let geoy = result.valueForKey("geo_y") as! NSArray
由此:
let geox = result.valueForKey("geo_x") as! [CLLocationDegrees]
let geoy = result.valueForKey("geo_y") as! [CLLocationDegrees]
然后:
for index in 0...count {
let position = CLLocationCoordinate2DMake(geox[index],geox[index])
let marker = GMSMarker(position: position)
marker.map = mapView
}