0

マップ ビューで表示できるポイント アノテーションを作成するために、Parse から保存されたジオポイントを取得しようとしています。これは私の現在のコードです:

override func viewDidLoad() {
    super.viewDidLoad()
    var query = PFQuery(className:"SpotInfo")
    query.whereKey("Location", equalTo: PFGeoPoint() )
    query.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]?, error: NSError?) -> Void In
        if error == nil {
            println("Succesfully retrieved objects.")
            if let objects = objects as? [PFObjects] {
                for object in objects {
                    println(objects.objectId)
                }
            }
        } else {
            println("Error: \(error!)(error!.userInfo!)")
        }
        let latit = query["Location"].latitude as Double
        let longi = query["Location"].longitude as Double
        let SpotLoc = CLLocationCoordinate2DMake(latit, longi)
        let Spot = MKPointAnnotation()
        Spot.coordinate = SpotLoc
        Spot.title = "Spot"
        Spot.subtitle = "Time"
        Map.addAnnotation(Spot)
    }
}

let latitおよび変数で、let longi「PFQuery にはサブスクリプトという名前のメンバーがありません」というエラーが表示されます。これはどういう意味ですか?どうすれば修正できますか? 助けてください。ありがとう!

4

1 に答える 1

1

あなたはいくつかの点で混乱しているようです。

クエリのジオポイントを作成するときは、緯度と経度を指定する必要があります。どこかから入手する必要があります。現在のコードは空の場所を作成します。そのため、ロケーションマネージャーを使用して現在の場所を取得する/ユーザーに尋ねる/ハードコーディングする必要があります。

完了ブロックが呼び出されたときはobjects、クエリからの情報にアクセスしようとするのではなく、返されたものを使用する必要があります。これは、クエリが使用しようとしているものを提供しないため、現在のコンパイル エラーが発生する場所です。各オブジェクトには、Location現在ログに記録するだけのループで使用する必要がある があります。

于 2015-07-03T06:49:22.170 に答える