首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Swift在Firebase中使用Geofire保存GeoLocation时出现问题

使用Swift在Firebase中使用Geofire保存GeoLocation时出现问题
EN

Stack Overflow用户
提问于 2016-10-10 01:38:40
回答 1查看 522关注 0票数 0

我正在使用Firebase后端的Geofire框架,我在数据库中保存位置时有一个问题。

我需要的是将用户选择的位置按照自动生成的id值的顺序保存在Orders表中。

代码语言:javascript
复制
    @IBAction func proceedOrder(_ sender: UIButton){

    FIRAuth.auth()?.addStateDidChangeListener({ (auth, user) in
        if user != nil {

            let userUID = (user?.uid)!
            let scheduled = self.pickDateTextField.text!
            let time = self.pickTimeTextField.text!
            let service = self.pickServiceTextField.text!
            let model = self.carModelTextField.text!
            self.ref = FIRDatabase.database().reference(fromURL: "https://***-****-***.firebaseio.com/")
            let geoFire = GeoFire(firebaseRef: self.ref)
            let dateCreated = Int(NSDate().timeIntervalSince1970)
            let orderRef = self.ref.child("Orders").childByAutoId()

            let values = ["uid":userUID,"date_Created":dateCreated,"date_Scheduled":scheduled,"time_Scheduled":time,"service_Type":service,"car_Model":model,"status":"Scheduled"] as [String : Any]
            orderRef.updateChildValues(values, withCompletionBlock: { (err, dbRef) in
                if err != nil {
                    print("Error: \(err)")
                    return
                } else {
                    geoFire?.setLocation(self.currentLocation, forKey: "Orders\(dbRef.key)")
                }
            })

        }
    })
}

EN

回答 1

Stack Overflow用户

发布于 2016-10-10 01:53:06

Geofire旨在将地理位置数据与其他对象数据分开。API不允许混合使用它们。

要将项目的位置信息与该项目的其他信息进行匹配,可将它们存储在同一密钥下

代码语言:javascript
复制
Orders
  <orderId>
OrderLocations (or whatever key you prefer, as long as it is separate)
  <orderId>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39946544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档