从Firebase检索用户坐标并将其发布为Heatmaplayer

时间:2019-03-12 01:25:00

标签: xcode firebase google-maps heatmap

晚上好,我对使用Google Heatmaps很陌生,当我尝试从Firebase检索用户的坐标以将Heatmap存储为Google Maps上的热图时,出现以下错误代码,无法转换类型'__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]


    })

}
 }

该位置会在我的控制台中打印,但是由于我之前提到的错误而崩溃。

0 个答案:

没有答案