2017-11-08 1 views
0

firebase에 업로드 한 경도 및 위도의지도에 주석을 넣는 데 문제가 있습니다. 모든 사용자에 대해 주석을 추가하고 싶지만 xcode에서 다른 함수의 userLatitude 및 userLongitude 변수를 인식 할 수 없습니다.Firebase의 좌표를 주석으로 표현하기

아무 것도 도움이 될 것입니다!

func retrieveUsers(){ 
     let ref = Database.database().reference() 
     ref.child("users").queryOrderedByKey().observeSingleEvent(of: .value, with: { snapshot in 
      let users = snapshot.value as! [String: AnyObject] 
      self.user.removeAll() 
      for (_,value) in users { 
       if let uid = value["uid"] as? String { 
        if uid != Auth.auth().currentUser!.uid { 
         let userToShow = User() 
         if let fullName = value["full name"] as? String, 
         let imagePath = value["urlToImage"] as? String, 
         //String(format: "%f", self.currentUserLocation?.longitude ?? 0), 
         let userLongitude = value["long"] as? CLLocationDegrees, 
         let userLatitude = value["lat"] as? CLLocationDegrees 
         //why isnt it recognizing the users degrees 

         { 
          userToShow.fullName = value["full name"] as? String 
          userToShow.imagePath = value["urlToImage"] as? String 
          userToShow.userID = value["uid"] as? String 
          userToShow.userLongitude = value["long"] as? CLLocationDegrees 
          userToShow.userLatitude = value["lat"] as? CLLocationDegrees 

          self.user.append(userToShow) 
         } 


        } 

       } 
      } 
      DispatchQueue.main.async { 
       self.map.reloadInputViews() 

       //not sure if this is right 
      } 
     }) 

    } 




    func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) { 

     let otherUserLocation: CLLocationCoordinate2D = CLLocationCoordinate2DMake(userLatitude, userLongitude) 

     let userAnnotation = MKPointAnnotation() 
     userAnnotation.coordinate = otherUserLocation 
     userAnnotation.title = "fullName" 





    } 

답변

0

그리고 당신은 as? String으로 as? CLLocationDegrees을 변경하고 이후 CLLocationDegrees의 캐스트를 관리하는 경우?

Firebase에서는 데이터가 Double이 아닌 String으로 저장되므로 CLLocationDegrees 유형이 참조하는 데이터 유형입니다.

+0

문자열을 이중으로 변경하는 형식은 무엇입니까? 나는 지금 이것에 문제가있다. –

+0

일반적으로 간단한 Double (경도) 및 Double (위도)이 작업을 수행해야합니다. – schtipoun