Получить пользовательские координаты из Firebase и опубликовать как Heatmaplayer - PullRequest
0 голосов
/ 12 марта 2019

Добрый вечер, я довольно новичок в использовании тепловых карт Google, и когда я пытаюсь получить координаты пользователя из firebase для сохранения в виде тепловой карты на картах Google, я получаю следующий код ошибки: Не удалось привести значение типа '__NSDictionaryM' (От 0x2689df890) до NSValue (0x2689ec640).

Я действительно надеялся, что кто-нибудь сможет взглянуть на мой код и помочь мне решить эту проблему. Я исследовал это в течение некоторого времени и по какой-то причине не могу найти решение.

Спасибо заранее, я очень ценю вашу помощь.

    public var mapView: GMSMapView!
    private var heatmapLayer: GMUHeatmapTileLayer!

override func viewDidLoad() {
    super.viewDidLoad()

    heatmapLayer = GMUHeatmapTileLayer()
    heatmapLayer.radius = 80
    heatmapLayer.opacity = 0.8
    heatmapLayer.gradient = GMUGradient(colors: gradientColors,
                                        startPoints: gradientStartPoints!,
                                        colorMapSize: 256)
    addHeatmap()
    checkIfUserIsLoggedIn()
    heatmapLayer.map = myMapView


func addHeatmap()  {
    guard let uid = Auth.auth().currentUser?.uid else {
        return
    }

    let ref = Database.database().reference(withPath: "JobPost").child(uid)
    ref.observeSingleEvent(of: .value, with: { snapshot in
        if !snapshot.exists() { return }
        let location = snapshot.childSnapshot(forPath: "location").value
        print(location!)
        let coords = GMUWeightedLatLng(coordinate: location as! CLLocationCoordinate2D, intensity: 1.0)
        self.heatmapLayer.weightedData = [coords]


    })

}
 }

Местоположение печатается в моей консоли, однако оно вылетает с ошибкой, о которой я говорил ранее.

...