Добрый вечер, я довольно новичок в использовании тепловых карт 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]
})
}
}
Местоположение печатается в моей консоли, однако оно вылетает с ошибкой, о которой я говорил ранее.